2011-08-10 64 views
2

我有一個名爲遊戲表,這些列:home_team, away_team, home_score, away_scoreSQL視圖爲計算列

我希望創建一個將一列winner其中規定中獎者視圖中的home_teamaway_team'TIE'(若分數等於)。

這可以使用視圖來完成嗎?我需要贏家在飛行中計算,而不是存儲在表格中。我也不想使用觸發器。

我使用MySQL 5.5作爲我的SQL服務器。

謝謝!

回答

5

僞代碼,沒有你的架構提供...

SELECT CASE 
     WHEN home_score > away_score THEN home_team 
     WHEN home_score < away_score THEN away_team 
     ELSE 'TIE' 
     END CASE 

這是假設你的home_teamaway_team列是某種varchar類型。

此外,這不是檢查NULL,所以如果分數可以是NULL你需要處理在WHEN條款。

+0

這工作完美,除了我不需要結束CASE,只是結束 – bradvido