Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql-所有行都停留在一行的值上?_Mysql_Row_Alias - Fatal编程技术网

Mysql-所有行都停留在一行的值上?

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并运行了该查询 代码如下

我在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