我找不到的简单 mysql 语句
simple mysql statement that I can not find
抱歉,不知道给这个问题起什么标题,因为它可能会让人感到困惑。
我的 table 只有两列 - userName1 和 userName2
我有这个:
SELECT * FROM `Friends` WHERE `userName1` = 'aName'
UNION
SELECT * FROM `Friends` WHERE `userName2` = 'aName'
此 sql 语句的结果为我提供了 userName1
或 userName2
中包含“aName
”的行。
如何过滤结果以仅显示 OTHER 条目?避免返回包含 'aName'
的列
如果是这种情况,您可以使用 INNER JOIN
SELECT *
FROM `Friends` f
INNER JOIN `Friends` f1
ON f.userName1 = f1.userName2
您可以使用:
select userName2 from friends where userName1 = 'aName'
union
select userName1 from friends where userName2 = 'aName';
没有union
的方法:
select distinct (case when userName1 = 'aName' then userName2 else userName1 end)
from friends
where 'aName' in (userName1, userName2);
我会尝试这样的事情:
SELECT userName2 as 'name' FROM Friends WHERE userName1 = 'aName'
UNION
SELECT userName1 as 'name' FROM Friends WHERE userName2 = 'aName'
您可能还要求它们不能都等于 'aName'
SELECT userName2 as 'name' FROM Friends WHERE userName1 = 'aName' and userName2 != 'aName'
UNION
SELECT userName1 as 'name' FROM Friends WHERE userName2 = 'aName' and userName1 != 'aName'
(...可以改进)
抱歉,不知道给这个问题起什么标题,因为它可能会让人感到困惑。
我的 table 只有两列 - userName1 和 userName2 我有这个:
SELECT * FROM `Friends` WHERE `userName1` = 'aName'
UNION
SELECT * FROM `Friends` WHERE `userName2` = 'aName'
此 sql 语句的结果为我提供了 userName1
或 userName2
中包含“aName
”的行。
如何过滤结果以仅显示 OTHER 条目?避免返回包含 'aName'
如果是这种情况,您可以使用 INNER JOIN
SELECT *
FROM `Friends` f
INNER JOIN `Friends` f1
ON f.userName1 = f1.userName2
您可以使用:
select userName2 from friends where userName1 = 'aName'
union
select userName1 from friends where userName2 = 'aName';
没有union
的方法:
select distinct (case when userName1 = 'aName' then userName2 else userName1 end)
from friends
where 'aName' in (userName1, userName2);
我会尝试这样的事情:
SELECT userName2 as 'name' FROM Friends WHERE userName1 = 'aName'
UNION
SELECT userName1 as 'name' FROM Friends WHERE userName2 = 'aName'
您可能还要求它们不能都等于 'aName'
SELECT userName2 as 'name' FROM Friends WHERE userName1 = 'aName' and userName2 != 'aName'
UNION
SELECT userName1 as 'name' FROM Friends WHERE userName2 = 'aName' and userName1 != 'aName'
(...可以改进)