gpt4 book ai didi

mysql - 在这种情况下如何从多个mysql表中选择数据?

转载 作者:行者123 更新时间:2023-11-29 06:08:55 24 4
gpt4 key购买 nike

好吧,我有一个奇怪的场景,我无法更改数据库结构,因为我没有这样做的权限。对于这个问题,我有三个表

表 1-

  id(int) | name(varchar) | link_id(int) | link_to(tinyint)
..............................................................
1 | value1 | 1 | 2
2 | value2 | 3 | 2
3 | value3 | 1 | 3
4 | value4 | 2 | 3
5 | value5 | 3 | 3

表 2-

  id(int)  | data(varchar)
............................
1 | some1
2 | some2
3 | some3

表 3-

    id(int) | data(varchar)
............................
1 | another1
2 | another2
3 | another3

现在让我解释一下:在table 1中,link_idtable 2table 3link_to 表明它是链接到表 2 还是 3。

现在我需要从所有 3 个表中获取组合数据,以便针对 table 1 中的每个 name 字段,我获取 data 来自该行中的 link_id 和 link_to 字段定义的正确表的字段。

是否有任何 mysql 查询可以实现此目的?

最佳答案

你可以尝试使用 UNION

(
SELECT t1.id,t2.data
FROM table1 t1
INNER JOIN table2 t2 ON t1.link_id=t2.id AND t1.link_to=2
) UNION (
SELECT t1.id,t3.data
FROM table1 t1
INNER JOIN table3 t3 ON t1.link_id=t3.id AND t1.link_to=3
)

关于mysql - 在这种情况下如何从多个mysql表中选择数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10023371/

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