Re: Need help in composing PostgreSQL query
| От | Oliver Elphick |
|---|---|
| Тема | Re: Need help in composing PostgreSQL query |
| Дата | |
| Msg-id | 200109040753.f847rP8s002140@linda.lfix.co.uk обсуждение исходный текст |
| Ответ на | Need help in composing PostgreSQL query ("Vladimir V. Zolotych" <gsmith@eurocom.od.ua>) |
| Список | pgsql-sql |
"Vladimir V. Zolotych" wrote: >Hi > >Please help me compose the query in PostgreSQL. >Using PostgreSQL 7.1.2. >
>Supposerelations A and B have columns: > {X1, X2, ..., Xm, Y1, Y2, ..., Yn} >and > {Y1, Y2, ..., Yn} >Attributes Y1,
Y2,..., Yn are common for both relations >and have the same type in both. > >How can I define in PostgreSQL the query
producing>relation with columns X1,X2,...,Xm containing all those tuples >satisfying conditon: relation A contains
tupple > {x1,x2,...xm,y1,y2,...,yn} >for _each_ tupple > {y1,y2,...,yn} >in relation B ? Where x1 denotes particular
valueof >colum X1 etc.
You seem to be talking about a natural join:
SELECT * FROM a,b WHERE a.y1 = b.y1 AND a.y2 = b.y2 AND ... AND a.yn = b.yn;
>For example: consider two tables DEND and DOR. > >DEND DOR > > s | p p >----+---- ---- > s1
|p1 p1 > s1 | p2 p2 > s1 | p3 p3 > s1 | p4 p4 > s1 | p5 p5 > s1 | p6 p5 > s2
|p1 (6 rows) > s2 | p2 > s3 | p2 > s4 | p2 > s4 | p4 > s4 | p5 >(12 rows) > >For such tables our desired query
shouldreturn: > > s >---- > s1
SELECT DOR.s FROM DEND,DOR WHERE DOR.p = DEND.p;
--
Oliver Elphick Oliver.Elphick@lfix.co.uk
Isle of Wight http://www.lfix.co.uk/oliver
PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47
GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C
======================================== "If any of you lack wisdom, let him ask of God, who gives to all men
generouslyand without reproach, and it will be given to him." James 1:5
В списке pgsql-sql по дате отправления: