2012-09-12 31 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,如果邀请

相关问题