之間查詢我有三個表:加入2個表
REGISTERS
------------------
id, name, idColony
------------------
1 , some, 3
2 , othe, 6
3 , sann, 3
------------------
EXTRA_COLONIES
------------------
id, idRegister, idColony
------------------
1, 1, 4
2, 1, 5
3, 2, 8
-----------------
COLONIES
------------------
1, some_colony
2, another_colony
...
...
我有一個例如被稱爲表REGISTER
。 該表格將有COLONIES
表idColony
(1 idColony
爲必填項)。但此REGISTERS
記錄/行最多可以有10個額外的idColony
s。這是我分開到另一張桌子的原因。
所以我做的查詢是這樣的:
SELECT table1.field,table2.field...
FROM (`REGISTERS`)
JOIN `EXTRA_COLONIES` ON `EXTRA_COLONIES`.`idRegister` = `REGISTERS`.`id`
WHERE (REGISTERS.idColony = '1' or EXTRA_COLONIES.idColony = '1')
GROUP BY `REGISTERS`.`id`
LIMIT 30
與此查詢的問題是,得到只是因爲鏈接JOIN
。EXTRA_COLONIES
ON EXTRA_COLONIES
的有EXTRA_COLONIES
記錄。 idRegister
= REGISTERS
。 id
我如何獲得所有記錄,EXTRA_COLONIES
?
在查詢 – AgRizzo