0

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 完成所有工作?

谢谢你,

4

2 回答 2

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)
于 2012-09-12T18:17:29.890 回答
0

最简单的事情是有两个单独的查询,但是,如果 - 无论出于何种原因 - 你真的需要一个,你可以:

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

如果成员为 1,如果被邀请,则为 0

于 2012-09-12T18:03:28.570 回答