Re: Finding records that are not there - Mailing list pgsql-general

From Adam Rich
Subject Re: Finding records that are not there
Date
Msg-id 05e901c8bc2b$707fd2e0$517f78a0$@r@sbcglobal.net
Whole thread Raw
In response to Finding records that are not there  (Owen Hartnett <owen@clipboardinc.com>)
List pgsql-general
> I have two tables that have identical index fields, maplot and
> unitno, (both indexes span two columns) and I want to find all the
> records in the commcost table that don't have a corresponding record
> in the bldg file.
>
> The SQL I've tried is:
>
> select commcost.maplot, commcost.unitno from commcost
> where not exists(select 1 from commcost, bldg
> where commcost.maplot = bldg.maplot and
> commcost.unitno = bldg.unitno)
> order by commcost.maplot
>
> It returns no records although I know that there are records in
> commcost which do not match keys with records from bldg.
>

You shouldn't put "commcost" in your inner select, since it's
already in your outer select.

Or try this, it's probably faster:

Select commcost.maplot, commcost.unitno from commcost c
left join bldg b on c.maplot = b.maplot and c.unitno = b.unitno
where b.unitno is null




pgsql-general by date:

Previous
From: Owen Hartnett
Date:
Subject: Re: Finding records that are not there
Next
From: "Roberts, Jon"
Date:
Subject: Re: Finding records that are not there