1
我有一个问题与MySQL的内部选择语句总是与外表的第一行计算。在下面的代码中,“WHERE otherTable.someID = myTable1.table1_id”应该(在我的脑海中)与最初选择的外部myTable1.table1_id匹配。也就是说,table1的每一行都被处理,但是myTable1.table1_id的内部似乎始终卡在table1的第一行,导致第一行输出正确,但后续所有行都不正确。Mysql - 卡住所有行的单行值?
它就好像我用第一行ID的实际值替换内层myTable1.table1_id并运行该查询。
下面是代码:
SELECT
myTable1.table1_id,
...,
(SELECT otherStuff FROM otherTable WHERE otherTable.someID = myTable1.table1_id)
FROM table1 myTable1
ORDER BY myTable1.table1_id;
为寻找谢谢!
如果myTable1和其他表是同一个表的不同实例(即两者都是“table1”)会怎样? – Greg 2010-11-02 15:42:52
不是问题,但你需要别名引用表。eg.SELECT * FROM tabel1 t1 join table1 t2 WHERE t1.ref = t2.parentref – Jaydee 2010-11-02 16:14:00