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