2017-08-29 81 views
0

我正在開發這個系統,我有一個表的團隊和一個超級明星。在球隊表中我有這4列有外鍵引用超級明星表。如何計算同一個表中不同列中的外鍵?

Table Teams Picture

我的目標是要知道誰是球隊最挑超級巨星。目前,我正在使用4個代碼並手動彙總結果。

代碼,我使用的是:

SELECT superstars.name,COUNT(superstar01) FROM smackdown_teams JOIN superstars on smackdown_teams.superstar01 = superstars.id GROUP by superstar01 Order by COUNT(superstar01) desc; 
SELECT superstars.name,COUNT(superstar02) FROM smackdown_teams JOIN superstars on smackdown_teams.superstar02 = superstars.id GROUP by superstar02 Order by COUNT(superstar02) desc; 
SELECT superstars.name,COUNT(superstar03) FROM smackdown_teams JOIN superstars on smackdown_teams.superstar03 = superstars.id GROUP by superstar03 Order by COUNT(superstar03) desc; 
SELECT superstars.name,COUNT(superstar04) FROM smackdown_teams JOIN superstars on smackdown_teams.superstar04 = superstars.id GROUP by superstar04 Order by COUNT(superstar04) desc; 

的我怎麼能知道誰是最挑ID的任何建議?

回答

0

您可以合併結果並查找結果的最大值。

select max(superstar) 
(SELECT superstars.name,COUNT(superstar01) as superstar FROM smackdown_teams JOIN superstars on smackdown_teams.superstar01 = superstars.id GROUP by superstar01 Order by COUNT(superstar01) desc 
UNION 
SELECT superstars.name,COUNT(superstar02) as superstar FROM smackdown_teams JOIN superstars on smackdown_teams.superstar02 = superstars.id GROUP by superstar02 Order by COUNT(superstar02) desc) 
相關問題