| От | Richard Huxton |
|---|---|
| Тема | Re: How to find missing values across multiple OUTER JOINs |
| Дата | |
| Msg-id | 466670CF.8020303@archonet.com обсуждение исходный текст |
| Ответ на | How to find missing values across multiple OUTER JOINs (Drew <drewmwilson@fastmail.fm>) |
| Список | pgsql-sql |
Drew wrote: > This seems to me the appropriate situation for using OUTER JOINs, but I > cannot figure out how to get the null rows without the not-null rows. > However, when I try to exclude the one not-null row, doing this: > SELECT > s.source_id,tp.translation_pair_id,t.translation_id,t.language_id, l.name > FROM (select * FROM source s WHERE source_id = 159986) AS s > LEFT OUTER JOIN translation_pair tp USING(source_id) > LEFT OUTER JOIN translation t ON tp.translation_id = > t.translation_id AND t.translation_id IS NULL > RIGHT OUTER JOIN language l on l.language_id = t.language_id; Ah, you need to put the "IS NULL" outside the join. SELECT ... WHERE s.source_id IS NULL OR tp.translation_pair_id IS NULL OR ... -- Richard Huxton Archonet Ltd
В списке pgsql-sql по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера