2012-09-12 30 views
0

MySQL是我的薄弱環節。我在我的頁面上有以下的MySQL查詢。變量$ this_groupMembers和$ this_groupInvites均在預定的形式「1,2,3」等:如何對MySQL的結果進行分組

SELECT 
    username 
FROM 
    chat_users 
WHERE 
    ID IN($this_groupMembers) OR 
    ID IN($this_groupInvites) 

我需要能夠做的是組的結果,這樣我可以訪問字符串現有成員與受邀成員分開。即從MySQL查詢結果中創建變量$ groupMembers_usernames和$ groupInvites_usernames,而不必使用PHP解析結果。

有沒有辦法做到這一點,使MySQL做所有的工作?

謝謝你,

+2

是否有某些原因導致您無法運行兩個不同的查詢,每個成員都有一個查詢? –

+0

如果你不想在PHP中解析結果,你總是可以做兩個查詢... – abresas

回答

3

您可以使用UNION與常量進行分類返回行:

SELECT 
    username, 'member' 
FROM 
    chat_users 
WHERE 
    ID IN($this_groupMembers) 
UNION 
SELECT 
    username, 'invitee' 
FROM 
    chat_users 
WHERE 
    ID IN($this_groupInvites) 
+0

爲接受你的答案的延誤道歉。我問這個問題的那天晚上,我的拇指骨折了,自那以後我一直沒有采取行動。比從未更好的遲到! – joe92

0

最容易的事是將有兩個單獨的查詢,但是,如果 - 因爲無論reason-你真的需要一個你可以:

SELECT 
    username, ID IN($this_groupMembers) AS member 
FROM 
    chat_users 
WHERE 
    ID IN($this_groupMembers) OR 
    ID IN($this_groupInvites) 

成員會1如果會員,0,如果邀請

相關問題