В этом запросе я должен указать пару игроков с их идентификатором playerID и playerName, которые играют за ту же команду. Если игрок играет за 3 команды, другой должен играть за точные 3 команды. Не меньше, не больше. Если два игрока в настоящее время не играют ни за какую команду, они также должны быть включены. Запрос должен возвращать (playerID1, playername1, playerID2, playerName2) без повторения, например, если информация игрока 1 находится перед игроком 2, не должно быть другого кортежа с игроком 2 информация, поступающая перед игроком 1.Сложный SQL-запрос, включающий несколько таблиц
Например, если игрок Игра для янки и redsox, а игрок b играет для янки, Red Sox и Dodgers, я не должен их получать. Они оба должны играть за янки, а Red Sox и ни с кем другим. Прямо сейчас этот запрос находит ответ, если игроки играют за одну и ту же команду.
player(playerID: integer, playerName: string)
team(teamID: integer, teamName: string, sport: string)
plays(playerID: integer, teamID: integer)
Сейчас запрос у меня есть
SELECT p1.playerID, p1.playerName, p2.playerID, p2.playerName
FROM player p1, player p2, plays
WHERE p1.teamID = p2.teamID AND teamID in.....
я застрял на том, как подойти к нему после этого. Любые подсказки о том, как подойти к этой проблеме. Спасибо за ваше время.
, какую базу данных мы работаем с? – hd1
Извините, у меня есть локальная база данных, которую я использую, но я не знаю, как ее поместить. – user2632133
Какой сервер баз данных? Версия также может быть релевантной – hd1