בשאלה הבאה עליכם לבצע תיאום בין קבוצות שונות עפ"י לוגיקה מוגדרת. את השאלה, כרגיל, יש לפתור באמצעות שאילתת SQL בסיסית. לפניכם רשימת קבוצות כדורסל –
לצורך תיאום משחקים בין אותן קבוצות, יש לייצר שאילתה אשר מחזירה את הפלט הבא :
כפי שניתן לראות מהפתרון – בסבב המשחקים, כל קבוצה יכולה לשחק עם כל אחת מהקבוצות השונות. כאשר כל תחרות בין שתי קבוצות צריכה להתרחש פעמים, פעם בבית של הקבוצה הראשונה, פעם בבית של הקבוצה השניה, לדוגמא – ניתן לראות כי ה Chicago Bulls התחרו ב Detroit Pistons פעמיים, פעם ב Chicago, פעם ב Detroit.
CREATE TABLE teams( TeamID INT, TeamName VARCHAR(50), TeamHome VARCHAR(50) ) GO INSERT INTO teams(TeamID,TeamName, TeamHome) SELECT 1,'Chicago Bulls', 'Chicago' UNION ALL SELECT 2,'Cleveland Cavaliers', 'Cleveland' UNION ALL SELECT 3,'Detroit Pistons' , 'Detroit' UNION ALL SELECT 4,'Indiana Pacers' , 'Indiana' UNION ALL SELECT 5,'Milwaukee Bucks' , 'Milwaukee' SELECT * FROM teams
SELECT home.TeamName as Team1, away.TeamName as Team2, home.TeamHome as Home FROM teams home JOIN teams away ON home.TeamId <> away.TeamId