gpt4 book ai didi

mysql - mysql需要的所有条件数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:00:19 25 4
gpt4 key购买 nike

我有三个表 abc,它们之间有共同的 id

Table a:-
id name value
1 a 4
2 v 6

Table b:-
id abc
2 54
3 56

Table c:-
id bcd
1 54
3 34

现在我想要的是 where 条件下的 id,数据来自所有表。

请告诉我该怎么做。

预期结果-

如果查询是

select * from a left join b on a.id=b.id left join c on a.id=c.id where b.id=3

id name value bcd abc
3 NULL NULL 34 56

如果查询是

select * from a left join b on a.id=b.id left join c on a.id=c.id where a.id=1

id name value bcd abc
3 a 4 54 NULL

最佳答案

这种解决问题的方法怎么样? :)

SELECT 
z.id,
a.name,
a.value,
c.bcd,
b.abc
FROM
(
SELECT
DISTINCT y.id id
FROM
(
SELECT id FROM a
UNION ALL
SELECT id FROM b
UNION ALL
SELECT id FROM c
) y
) z
LEFT JOIN a ON z.id = a.id
LEFT JOIN b ON z.id = b.id
LEFT JOIN c ON z.id = c.id
where z.id = 3

sql fiddle

这样你只需要给查询一个数字而不关心它存在于哪些表中。

关于mysql - mysql需要的所有条件数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17850623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com