1
我有3個表如何寫這個查詢有兩個連接
型
+----+-------+ | id | type | +----+-------+ | 1 | typeA | | 2 | typeB | | 3 | typeC | +----+-------+
品牌(包括品牌和子品牌與母品牌標識,像brandC是子品牌布蘭達)
+----+--------+--------+ | id | brand | parent | +----+--------+--------+ | 1 | brandA | 0 | | 2 | brandB | 0 | | 3 | brandC | 1 | +----+--------+--------+
設備
+----+-------+-------+ | id | type | brand | +----+-------+-------+ | 1 | 1 | 2 | | 2 | 2 | 1 | | 3 | 3 | 3 | +----+-------+-------+
我寫此查詢:
$query = "select
a.id,
b.type,
c.brand
from
equipment a
join type b
on a.type=b.id
join brand c
on a.brand=c.id
where
a.id=3";
它讓我看到下面的結果:
+----+--------+---------+ | id | type | brand | +----+--------+---------+ | 3 | typeC | brandC | +----+--------+---------+
我怎麼修改我的查詢顯示父母品牌以及品牌是否擁有母品牌。例如brandC是品牌A的子品牌。所以,我的結果應該是這樣的:
+----+--------+---------+----------------+ | id | type | brand | Parent Brand | +----+--------+---------+----------------+ | 3 | typeC | brandC | brandA | +----+--------+---------+----------------+
,並在沒有母品牌離開細胞空白
也是我將如何修改上面的查詢,查看所有設備與他們的品牌,子品牌如下。
+----+--------+---------+----------------+ | id | type | brand | Parent Brand | +----+--------+---------+----------------+ | 1 | typeA | brandB | | | 2 | typeB | brandA | | | 3 | typeC | brandC | brandA | +----+--------+---------+----------------+
我知道在MySQL – Neal
@Neal中沒有外連接。 。 。那麼你不太瞭解MySQL。它支持'left outer join'。請參閱http://dev.mysql.com/doc/refman/5.5/en/join.html。 (我在使用'left outer join'而不是'left join'方面有點過時,但MySQL也支持這一點。) –
MySQL不支持的只有全外連接。 – Langdi