MySQL是我的弱点。我在我的页面上有以下MySQL查询。变量$ this_groupMembers和$ this_groupInvites都是'1,2,3'等形式的预定字符串:
SELECT
username
FROM
chat_users
WHERE
ID IN($this_groupMembers) OR
ID IN($this_groupInvites)
我需要做的是对结果进行分组,以便我可以与受邀成员分开访问现有成员。即从MySQL查询的结果创建变量$ groupMembers_usernames和$ groupInvites_usernames,而不必使用PHP剖析结果。
有没有办法让MySQL完成所有工作?
谢谢你,
乔
答案 0 :(得分: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)
答案 1 :(得分:0)
最容易的事情是有两个单独的查询,但是,如果 - 无论出于何种原因 - 你真的需要一个:
SELECT
username, ID IN($this_groupMembers) AS member
FROM
chat_users
WHERE
ID IN($this_groupMembers) OR
ID IN($this_groupInvites)
如果是会员,会员将为1,如果被邀请则为0