0

我有三个表,例如:

表格1:

|A|B|C|D|

表2:

|A|E|F|G|

表3:

|G|H|

我需要的结果是:

|A|B|C|D|H|

最初我只检查前两个表,从table1所有行和满足条件的行中table2的列Gtable1.A = table2.A

就像是:

SELECT `table1`.*,`table2`.`G` FROM `table1` INNER JOIN `table2` WHERE `table1`.`A`=`table2`.`A`

我现在的问题是H从使用满足旧条件的table3类似键值中获取列。G我希望我的问题有点清楚..有人可以帮助我吗?谢谢!

4

4 回答 4

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`
于 2012-07-18T12:44:27.133 回答
0

从 table1,table2,table3 中选择 table1.A,table1.B,table1.C,table1.D,table3.H 其中 table1.A=table2.A AND table2.G=table3.G

于 2012-07-18T13:45:59.180 回答
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
于 2012-07-18T12:45:20.680 回答
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`
于 2012-07-18T12:46:39.593 回答