[英]Combine two select queries from one table in MySQL
我有结构像mysql表
id | first_id | second_id
1 | 1 | 2
2 | 1 | 4
3 | 1 | 9
4 | 4 | 6
5 | 5 | 9
6 | 9 | 10
我想获取与x成对的ID列表:
每对ID代表2个对象之间的关系。 因此,我想获取与对象x有关系的所有对象ID。
SELECT first_id
FROM Table
where second_id = x
JOIN SELECT second_id
FROM Table
where first_id = x
由于某种原因,该查询返回语法错误-我在做什么错?
下面的查询将同时检查second_id和first_id的x值,并分别获取first_id和second_id。
SELECT first_id as Id
FROM Table
WHERE second_id = x
UNION ALL
SELECT second_id
FROM Table
WHERE first_id = x
应该是这样的:
SELECT
a.`id` as `id`,
a.`first_id` as `first_id`,
b.`first_id` as `related_id`
FROM Table a
JOIN Table b
ON a.`first_id` = b.`second_id`
WHERE a.`first_id` = x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.