self-join and DISTINCT quandry.
От | Stuart Rison |
---|---|
Тема | self-join and DISTINCT quandry. |
Дата | |
Msg-id | Pine.LNX.4.10.9909292106040.30104-100000@bsmlx17 обсуждение исходный текст |
Ответы |
Re: [SQL] self-join and DISTINCT quandry.
|
Список | pgsql-sql |
Dear all, Consider the following table: test=> select * from hum; number|letter|family ------+------+------ 1|a |one 2|b |one 3|c |one 4|d |one 5|e |one 6|f |one 7|a |two 8|b |two 9|c |two 10|g |two 11|h |two 12|i |two (12 rows) If I want to know what letters appear in more than one family and what the number for number for such letters is, I could do: test=> select t1.letter, t1.number, t2.number from hum t1, hum t2 where t1.letter=t2.letter and t1.family<>t2.family; letter|number|number ------+------+------ a | 1| 7 b | 2| 8 c | 3| 9 a | 7| 1 b | 8| 2 c | 9| 3 (6 rows) test=> But what is I didn't want the information to appear twice. I could try adding DISTINCT but that would not work because row a,1,7 is of course DISTINCT from a,7,1 although I am looking for such duplication to be eliminated... I'd like to do this without using DISTINCT ON if at all possible (because I disapprove on DISTINCT ON on moral grounds ;) ). regards, S. Stuart C. G. Rison Department of Biochemistry and Molecular Biology 6th floor, Darwin Building, University College London (UCL) Gower Street, London, WC1E 6BT, United Kingdom Tel. 0207 504 2303, Fax. 0207 380 7033 e-mail: rison@biochem.ucl.ac.uk
В списке pgsql-sql по дате отправления: