在mysql和合并列中使用或

在mysql和合并列中使用或,sql,mysql,merge,Sql,Mysql,Merge,我可以选择使用或与sql语句一起使用 select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1; 现在userid或friend\u userid返回1。 我希望合并两列,即userid和friend\u userid 进入一个没有1的列 这样只显示一行 我得到的结果是 userid | friend_userid 1 | 2 1 | 7 1 | 5 12 | 1 24 | 1 我

我可以选择使用或与sql语句一起使用

select f.userid, f.friend_userid from friends f where userid = 1 or friend_userid = 1;
现在userid或friend\u userid返回1。

我希望合并两列,即userid和friend\u userid

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

我得到的结果是

userid | friend_userid

1 | 2

1 | 7

1 | 5

12 | 1

24 | 1

我想表现得像

用户ID

二,

七,

五,

十二,

二十四

我正在使用mysql

谢谢

普拉迪尤特

India

看起来您希望在table
friends
的两个实例之间进行联接,可能是一个
左联接。如果除
userid
friend\u userid
之外的字段是,比如说,
a
b
(您没有告诉我们,也无法猜测:

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
使用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

二,

七,

五,

十二,

二十四


谢谢

Pradyut

因此,当满足条件“userid=1”时,需要friend\u userid列,当满足条件“friend\u 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;

你的意思是说你想要
userid
friend\u userid
都不是1的行吗?你能描述一下表的结构以及它将返回多少行吗?我的意思是说,“userid=1”和“friend\u userid=1”是否只有一行或者对于给定给他们的任何此类值?@标记“是”…userid或friend\u userid返回1。我希望userid和friend\u userid这两列合并成一个没有1的列。谢谢…不,我只希望user\u id或friend\u userid…但输出不应像我的情况那样返回1…我刚刚编辑了这个问题…太好了谢谢你的帮助…我刚整理好…和你的答案一样…谢谢。。。