SQL新手。我有3個表:games
,invitations
和users
我必須查詢兩次以獲得此結果嗎?
該查詢返回的遊戲,都在進步:
SELECT games.*
FROM games
INNER JOIN invitations
ON invitations.game_id = games.id
AND invitations.user_id = 1
AND invitations.status = 1
AND games.status = 1;
該查詢返回已完成遊戲:
SELECT games.*
FROM games
INNER JOIN invitations
ON invitations.game_id = games.id
AND invitations.user_id = 1
AND invitations.status = 1
AND games.status = 2;
該查詢返回遊戲用戶現在還沒有決定閹加入或不:
SELECT games.*
FROM games
INNER JOIN invitations
ON invitations.game_id = games.id
AND invitations.user_id = 1
AND invitations.status = 0;
我想知道,如果我有需要從這3個查詢結果的Web應用程序,我必須執行3條SQL語句或有沒有辦法將它們壓縮成1?提出3個請求對我來說似乎太重要了,這是處理這個問題的正常方法嗎?
你想怎麼的結果是,會不會是一個單一的集合,或者您需要3個不同的集合 – 2013-04-10 02:53:07
@ArunPJohny不知道你的收藏 – 0xSina 2013-04-10 03:05:33
如果是什麼意思你需要3個不同的集合對象,那麼你需要執行所有三個查詢,如果你可以在一個集合中處理結果,那麼你可以使用下面給出的答案 – 2013-04-10 03:07:11