我有两个表,第一个是这样设置的:
name(PK), height, width, age
第二个表的设置如下:
name1, name2
如何以两种方式连接两个表格以便按以下方式输出数据:
name1, name2, height1, height2, width1, width2, age1, age2
第一个表中的名称可以连接到第二个表中的名称。
答案 0 :(得分:1)
您可以使用不同的别名将table1(每行的名称,高度,宽度,年龄值)放入查询两次。我敢肯定,如果table1(t2和t12)中不存在table2(t2)中的name1或name2值,那么对性能的分析以及table1引用(t11和t12)的可能外部连接都是有序的。
SELECT
t2.name1,
t2.name2,
t11.height height1,
t12.height height2,
t11.width width1,
t12.width width2,
t11.age age1,
t12.age age2
FROM
table2 t2, -- contains rows with name1, name2
table1 t11, -- contains rows with name, height, width, age
table1 t12 -- contains same rows as t11 with name, height, width, age
WHERE t12.name = t2.name2
AND t11.name = t2.name1
答案 1 :(得分:0)
这是适合我的查询。
SELECT
table2.name1, table2.name2,
t1.height as 'name1_height',
t2.height as 'name2_height',
FROM table2
INNER JOIN table1 t1 on (table1.name1 = t1.name)
INNER JOIN table1 t2 on (table1.name2 = t2.name)