假定以下表:MySQL:在另一個子查詢中使用子查詢的結果?
TABLE: foo
=========================
| foo_id | fk_id | name |
=========================
| 1 | 100 | A |
| 2 | 100 | B |
| 3 | 200 | C |
| 4 | 200 | D |
| 5 | | E |
| 6 | | F |
-------------------------
TABLE: foo_combo
===============================================
| foo_combo_id | parent_foo_id | child_foo_id |
===============================================
| 1 | 5 | 1 |
| 2 | 5 | 2 |
| 3 | 6 | 3 |
| 4 | 6 | 4 |
-----------------------------------------------
我需要得到由高達foo
其中fk_id
是100使用的採樣數據中提供的所有foo
其中fk_id
是100和所有foo
組合,我需要fk_id
= 1 ,2(這些具有fk_id
= 100)和5(這是由foo
組成的foo
,其具有fk_id
= 100)。
SQL應該是什麼樣子?
編輯1:
兩個查詢我認爲需要進行組合:
SELECT * FROM foo WHERE fk_id = 100
SELECT foo.* FROM foo, foo_combo WHERE foo_combo.child_id IN (SELECT foo_id FROM foo WHERE fk_id = 100) AND foo.foo_id = foo_combo.parent_foo_id ???
這將不會返回組合ID。 – 2011-12-14 08:35:03
對。我想我需要`聯合',但不知何故在第二個查詢中引用第一個查詢的結果。 – StackOverflowNewbie 2011-12-14 08:42:18