עבור לתוכן

SQL | מספר count בשאילתה אחת

Featured Replies

פורסם

שלום

איך אני יכול ליישם מספר של count בתוך שאילה בודדת

למשל, יש לי טבלה של קבוצות, טבלת משחקים, טבלת תוצאות

אני רוצה להציג בשאילה אחת עבור כל קבוצה את מספר נצחונות הבית, מספר נצחונות חוץ וכו...

תודה.

פורסם

אתה בונה VIEW אחד של סטטיסטיקות

שבו אתה עושה GROUP BY לקבוצה,סוג המשחק (בית או חוץ), ותוצאה (ניצחון,הפסד,תיקו)

התוצאה תיראה בערך ככה

קבוצה א משחקי חוץ 5 נצחונות

קבוצה א משחקי בית 4 ניצחונות

קבוצה א משחקי חוץ 5 תיקו

קבוצה א משחקי בית 4 תיקו

קבוצה א משחקי חוץ 5 הפסדים

קבוצה א משחקי בית 4 הפסדים

עכשיו אתה יכול לעשות SELECT מתןך ה VIEW הזה

לפי חיתוך מסוים למשל משחקי בית+נצחונות של הקבוצה

בדוגמה יש 6 צירופים אז אתה צריך 6 SELECT'ים שונים מה VIEW הזה

בשלב הבא אתה עושה JOIN בין ה SELECT'ים לפי השם של הקבוצה

והתוצאה היא שתראה עבור כל קבוצה שורה אחת שבה מופיעות כל הסטטיסטיקות שאתה רוצה

עכשיו תלוי באיזה DB אתה משתמש אבל מה שאנ ההיתי עושה זה שאחרי שאני בונה את ה VIEW

של הסטטיסטקות,ההיתי פשוט בונה פונקציה שלה אני שולח את שם הקבוצה ,סוג המשחק ותוצאה והיא מחזירה לי הכמות

השאילתה תראה בערך ככה

select function(team_name,away,wins),function...

from team_table

הפונקציה תיראה בערך ככה

begin

select amount

into v_amount

from stat_view

where team_name=:team_name

and game_type=:game_type

return v_amount

end;

זה לא הסינטקס של הפונקציה ברור שזה לא יעבוד ככה זה סתם להמחשה

אם אתה רוצה לממש את זה אז אתה צריך ללמוד איך בונים פונצקיות ב DB שאתה עובד איתו

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים