Re: multiple lookup per row

Поиск
Список
Период
Сортировка
Искать
От
Josh Berkus
Тема
Re: multiple lookup per row
Дата
Msg-id
web-88697@davinci.ethosmedia.com
Ответ на
multiple lookup per row (Gary Stainburn)
Список
Дерево обсуждения
multiple lookup per row Gary Stainburn <gary.stainburn@ringways.co.uk>
Re: multiple lookup per row "Josh Berkus" <josh@agliodbs.com>
Re: multiple lookup per row Tom Lane <tgl@sss.pgh.pa.us>
Gary,

First:  Go out and buy "SQL for Smarties".  Now.  Read it.

However, I'll give you this one as a freebie:

> I've got a table 'phones' which has an indexed key 'pid' of type
> int4, and a 
> phone number of type varchar(12).
> 
> I've then got a table 'members'  which as an index key 'mid' of type
> int4.

SELECT members.mid, members.name, members.address, hp.phone AS
home_phone, wp.phone AS work_phone, cp.phone as cell_phone
FROM members LEFT OUTER JOIN
	(SELECT mid, phone FROM phones WHERE ptype = 'home') hp
		ON members.mid = hp.mid
	LEFT OUTER JOIN
	(SELECT mid, phone FROM phones WHERE ptype = 'work') wp
		ON members.mid = wp.mid
	LEFT OUTER JOIN
	(SELECT mid, phone FROM phones WHERE ptype = 'cell') cp
		ON members.mid = cp.mid
ORDER BY members.name;

You're experiencing the usual problem encountered by procedural
programmers when they first start on SQL.  SQL is a declarative
language, and requires a different knid of thinking than procedural
languages.  Thus the use of table aliasing and subselects above.

Have fun!

-Josh


______AGLIO DATABASE SOLUTIONS___________________________
                                       Josh Berkus
  Complete information technology      josh@agliodbs.com
   and data management solutions       (415) 565-7293
  for law firms, small businesses        fax 621-2533
    and non-profit organizations.      San Francisco
В списке pgsql-sql по дате отправления
От: Bruce Momjian
Дата:
От: Josh Berkus
Дата:
Сообщение: Re: Records exactly the same.
FAQ