我有三张表:
表1:
|A|B|C|D|
表2:
|A|E|F|G|
表3:
|G|H|
我需要的结果是:
|A|B|C|D|H|
最初我只检查前两个表格,来自table1
所有行以及table2
列G
满足条件table1.A = table2.A
的行<{1}}
类似的东西:
SELECT `table1`.*,`table2`.`G` FROM `table1` INNER JOIN `table2` WHERE `table1`.`A`=`table2`.`A`
我现在的问题是从H
使用满足旧条件的键值table3
取G
列。我希望我的问题有点清楚..有人可以帮助我吗?谢谢!
答案 0 :(得分:2)
SELECT `table1`.*,`table2`.`G`,`table3`.`H`
FROM `table1`
INNER JOIN `table2` ON `table1`.`A`=`table2`.`A`
INNER JOIN `table3` ON `table2`.`G`=`table3`.`G`
答案 1 :(得分:0)
这是使用隐式内连接执行此操作的最简单方法。
SELECT T1.A, T1.B, T1.C, T1.D, T3.H
FROM `table1` T1, `table2` T2, `table3` T3
WHERE T1.A = T2.A AND T2.G = T3.G
答案 2 :(得分:0)
试试这个:
SELECT
`t1`.*,
`t2`.`G`,
`t3`.`H`
FROM
`table1` AS `t1`
INNER JOIN
`table2` AS `t2`
ON `t1`.`id` = `t2`.`t1_id`
INNER JOIN
`table3` AS `t3`
ON `t1`.`id` = `t2`.`t2_id` (or join with table 2 I dont know)
WHERE
`t1`.`A`=`t2`.`A`
答案 3 :(得分:0)
从table1,table2,table3中选择table1.A,table1.B,table1.C,table1.D,table3.H table1.A = table2.A AND table2.G = table3.G