您好我一直在研究和有问题与MySQL查询。
我有一个名为“朋友”的表,它具有列:id,user1和user2。 我想创建一个查询,我可以得到1条记录,结果与来自user1列的所有用户以及来自user2列的与特定用户相关的所有用户连接,以便获得包含所有用户的结果朋友。例如,表中的“朋友”可能含有:多个查询concat
****friends**** id user1 user2 0 33 1 1 33 2 2 34 25 3 3 33 4 27 33
结果我要的是一个名为“友谊”的数据是包含“1,2,3,27”,因为这些都是一个串记录与用户33是朋友的用户ID。我能够运行:
SELECT (CAST(GROUP_CONCAT(user2) AS CHAR(10000) CHARACTER SET utf8)) as friendships from friends where user1 =33
将返回“1,2”,我可以扭转它在一个单独的查询来获取“3,27”,不过,我想获得的结果在一个查询如果可能的话!所有的帮助表示赞赏:)
写两个查询和使用UNION这应该工作:http://www.mysqltutorial.org/sql- union-mysql.aspx – 2012-01-27 21:42:49
我继续尝试联合方法,结果是正确的,但是,我仍然有一个问题将它们连接成一个结果。与工会即时做
,但它不是在一个逗号分隔结果 – 2012-01-27 21:51:10为什么铸造group_concat?它已经返回一个字符串,它将被客户端软件视为char/varchar/text。 – 2012-01-27 22:04:59