使用或在mysql和合并列中

时间:2010-04-23 03:50:48

标签: sql mysql merge

我可以选择使用或使用sql语句

select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1;

现在userid或friend_userid返回1.

我想要两个列,即userid和friend_userid合并为

进入没有1的单列 这样只显示一行......

我得到的输出是......

userid | friend_userid

1 | 2

1 | 7

1 | 5

12 | 1

24 | 1

我希望显示为......

用户ID

2

7

5

12

24

我正在使用mysql ....

由于

Pradyut
印度

3 个答案:

答案 0 :(得分:1)

您希望在表LEFT JOIN的两个实例之间进行连接,可能是friends。如果useridfriend_userid以外的字段是ab(您没有告诉我们,也无法猜测:

SELECT f.a, f.b, f1.a, f1.b
FROM friends f
LEFT JOIN friends f` ON (f.userid = f1.friend_userid)
WHERE f.userid = 1

答案 1 :(得分:0)

使用sql

 select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1;

我得到的输出是......

userid | friend_userid

1 | 2

1 | 7

1 | 5

12 | 1

24 | 1

我希望显示为......

用户ID

2

7

5

12

24


感谢
Pradyut

答案 2 :(得分:0)

因此,您需要满足条件“UserId = 1”的列friend_userid和满足“friend_userid = 1”条件的UserId列。写下以下查询:

select f.friend_userid as userId from friends f where f.userid = 1 
UNION
select f.userid as userId from friends f where f.friend_userid = 1;

你得到你想要的东西。