Re: Finding records that are not there

Поиск
Список
Период
Сортировка
От Adam Rich
Тема Re: Finding records that are not there
Дата
Msg-id 05e901c8bc2b$707fd2e0$517f78a0$@r@sbcglobal.net
обсуждение исходный текст
Ответ на Finding records that are not there  (Owen Hartnett <owen@clipboardinc.com>)
Список 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 по дате отправления:

Предыдущее
От: Owen Hartnett
Дата:
Сообщение: Re: Finding records that are not there
Следующее
От: "Roberts, Jon"
Дата:
Сообщение: Re: Finding records that are not there