我有一个与从3个表的组合中获取记录有关的查询,返回的结果将在外键的帮助下使用ON子句获取。
假设我有三个表,名为table1、table2和table3。
表: table1
id name t2_id t3_id
11 John 21 31
12 Doe 22 32表: table2
id value
21 ABC-1
22 ABC-2表: table3
id value
31 XYZ-1
32 XYZ-2在表中:表1、t2_id和t3_id分别表示表table2和table3中的id。
问题:
我想从table1中提取记录,但也要使用table2和表3中的外键从table1中提取值。
期望的结果:
id name t2_value t3_value
11 John ABC-1 XYZ-1
12 Doe ABC-2 XYZ-2我现在所做的:
我编写了下面的查询来执行此任务,但它不起作用。
SELECT table1.id, table1.name, table2.value AS t2_value FROM table1 JOIN table2 ON (table1.t2_id=table2.id);上述查询的输出如下:
id name t2_value
11 John ABC-1
12 Doe ABC-2但是我也想把第三个表的值组合起来。
请帮帮忙
重要注意事项:我想使用单个MySQL查询.
完成此操作
发布于 2020-08-28 17:22:14
你走在正确的轨道上。只需为join添加另一个table3子句,并将所需列添加到select列表中:
SELECT table1.id, table1.name, table2.value AS t2_value, table3.value.value AS t3_value
FROM table1
JOIN table2 ON table1.t2_id = table2.id
JOIN table3 ON table1.t3_id = table3.idhttps://stackoverflow.com/questions/63638251
复制相似问题