我有三张桌子:
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
...
...
我有一张名为 eg 的桌子REGISTER
。该表将有一个表中的idColony
(1idColony
是强制性的)。COLONIES
但是这个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
此查询的问题在于,它仅获取EXTRA_COLONIES
因链接而具有的记录。JOIN
EXTRA_COLONIES
ON EXTRA_COLONIES
.idRegister
= REGISTERS
.id
我怎样才能得到所有的记录,EXTRA_COLONIES
或者不?