Re: Linking against null-fields.

Поиск
Список
Период
Сортировка
От david@netventures.com.au
Тема Re: Linking against null-fields.
Дата
Msg-id Pine.LNX.4.21.0110092207230.8691-100000@rapt.netventures.com.au
обсуждение исходный текст
Ответ на Linking against null-fields.  (Alexander Deruwe <a@deruwe.be>)
Список pgsql-sql
Hi Alex,
For this you need an outer join (Made easy as of postgresql 7.1)

Alexander Deruwe Wrote:
> Hey all,
> 
> I'm sorry if this question came up before, I couldn't find it in the
> archives..
> 
> Suppose I have two tables:
> 
> table File: contains alot of fields + 'driver' field, which refers to
> another
> table. I did not 'reference' it when creating the database because
> null-values have to be possible for this field.
> 
> Now, if in this File-table the field 'driver' is not filled in, the row
> will
> not be included in a query such as this one:
> 
> SELECT f.ID, d.NAME FROM FILE f, DRIVER d WHERE (d.ID = f.DRIVER);

In Postgresql 7.1 You would do this as:

SELECT f.ID, d.NAME
FROM FILE f
LEFT OUTER JOIN DRIVER d ON d.ID = f.DRIVER

This join will fill in the missing rows from DRIVER  with NULL values.

Eg:
FILE:
ID    DRIVER
1    NULL
2    1
3    4

DRIVER:
ID    NAME
1    broken.dll
2    foo.zip


SELECT f.ID, d.NAME
FROM FILE f
LEFT OUTER JOIN DRIVER d ON d.ID = f.DRIVER;
ID    NAME
1    NULL
2    broken.dll
3    NULL

--
David Stanaway



В списке pgsql-sql по дате отправления:

Предыдущее
От: Alexander Deruwe
Дата:
Сообщение: Linking against null-fields.
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: Problem with n to n relation