Diskuze: Multiple join ze stejné tabulky
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Skus sem poslat strukturu tabulek bowling_teams a bowling_draft.
JInak bude to něco ve stylu :
SELECT *
FROM bowling_draft draft
LEFT JOIN (SELECT * FROM bowling_teams) AS firstTeam ON firstTeam.id = draft.firstTeamId
LEFT JOIN (SELECT * FROM bowling_teams) AS secondTeam ON secondTeam.id = draft.secondTeamId
A co kdybys udělal subselect?
Něco jako
SELECT data,
(SELECT name FROM bowling_teams WHERE id = bowling_draft.firstTeamId) AS firstTeamName,
(SELECT name FROM bowling_teams WHERE id = bowling_draft.secondTeamId) AS secondTeamName
FROM bowling_draft
Taky je docela zbytečné dávat tam LEFT JOIN, stačí možna čistě pomocí WHERE
SELECT *
FROM bowling_draft AS draft, (SELECT * FROM bowling_teams) AS firstTeam, (SELECT * FROM bowling_teams) AS secondTeam WHERE firstTeam.id = draft.firstTeamId AND secondTeam.id = draft.secondTeamId
Zobrazeno 5 zpráv z 5.