Mysql-所有行都停留在一行的值上?
我在mysql中遇到了一个问题,即内部select语句总是使用外部表的第一行进行求值。在下面的代码中,其中otherTable.someID=myTable1.table1_id在我看来应该与最初选择的外部myTable1.table1_id匹配。也就是说,表1的每一行都会被处理,但内部myTable1.table1_id似乎总是卡在表1的第一行上,导致第一行的输出正确,但所有后续行的输出都不正确 就好像我用第一行id的实际值替换了内部myTable1.table1_id并运行了该查询 代码如下:Mysql-所有行都停留在一行的值上?,mysql,row,alias,Mysql,Row,Alias,我在mysql中遇到了一个问题,即内部select语句总是使用外部表的第一行进行求值。在下面的代码中,其中otherTable.someID=myTable1.table1_id在我看来应该与最初选择的外部myTable1.table1_id匹配。也就是说,表1的每一行都会被处理,但内部myTable1.table1_id似乎总是卡在表1的第一行上,导致第一行的输出正确,但所有后续行的输出都不正确 就好像我用第一行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;
谢谢你的关注 看起来您正在尝试进行简单的连接:
SELECT
myTable1.table1_id,
...,
otherstuff from othertable
FROM table1 myTable1 join othertable on myTable1.table1_id=othertable.some_ID
ORDER BY myTable1.table1_id;
如果您需要在othertable不包含匹配ID的情况下返回结果行,请将联接更改为左联接。如果myTable1和othertable是同一个表的单独实例(即两者都是table1),则不会有问题,但是您需要为表的引用别名,例如从tabel1 t1 join table1 t2中选择*表,其中t1.ref=t2.parentref