检索没有主地址的公司列表

时间:2013-10-02 10:32:34

标签: sql postgresql

我公司的数据库存放在company表格下,其地址存储在companyaddress下。公司可以有很多地址。

companyaddress表中,有street1postcode等常用字段,并且有一个名为main的字段,它是一个布尔字段,代表公司主要地址(我发送信件的地方)。

我想要编制一个公司列表,这些公司的地址位于companyaddress,但没有任何标记为main的公司。到目前为止,我有这个:

select distinct c.name from company c
left join companyaddress ca on ca.company_id = c.id
where ca.main IS FALSE
order by c.name asc

但它无法正常工作。它仍在检索一些标有主要地址的公司。

2 个答案:

答案 0 :(得分:0)

你可以尝试下面的代码

select distinct c.name from company c
left join companyaddress ca on ca.company_id = c.id
where ca.main = 0
order by c.name asc

希望这会对你有所帮助

答案 1 :(得分:0)

select distinct c.name from company c
inner join 
(
Select Company_Id,
Sum(Case when Main=1 than 1 Else 0 End) as Totals
form companyaddress  group by Company-Id Having Sum(Case when Main=1 than 1 Else 0 End) <1
)  ca on ca.company_id = c.id
order by c.name asc
相关问题