左连接不返回所有行

时间:2014-11-22 11:08:57

标签: android sqlite left-join inner-join totals

我有两个表,property_mastertanant_master,字段如下:

property_master - > P_ID,PNAME

tanant_master - > t_id,p_id,t_name;

我在property_master内有3个属性,如PRO1,PRO2,PRO3和tanant_master中的2个租户,如T1,T2。

T1分配给PRO1,T2分配给PRO2,PRO3中没有任何租户,所以现在我想查找所有属性中的租户总数,所以我的查询如下:

SELECT p.p_id AS code, t.p_name AS Property, count( p.t_id ) AS total_count
FROM tanant_master p
LEFT JOIN property_master t ON t.p_id = p.p_id
GROUP BY p.p_id

当我运行此查询时,它只会提供2个属性值,如PRO1和PRO2,但我也想将PRO3计为0.如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

左连接返回左侧表中的所有行。 在这种情况下,这是tanant_master表,因此您可以获得所有租户。

要获取所有属性,请使用左侧的表:

SELECT p_id AS code,
       p_name AS Property,
       COUNT(t_id) AS total_count
FROM property_master
LEFT JOIN tanant_master USING (p_id)
GROUP BY p_id