"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