Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > СУБД DB2 выбор неповторяющихся значений


Автор: Zhenyusya 19.11.2008, 13:56
есть две таблицы
1. opis:
num  | pkopis
455           2
123           3

2. org:
name   | pkorg | fkopis
name1      1           2
name2      2           2
name3      3           3

выбрать описи, в организациях которых where name='%name%' и pkopis было уникально 
(не выводить одну и туже opis несколько раз)

результат должен быть такой: num,   name,   pkopis, pkorg
                                                    455    name1       2         2                
                                                    123    name3       3         3                
P.S.     неважно какую из записей выводить name1 или name2 
главное, чтобы не обе вместе

Автор: Magnifico 19.11.2008, 19:20
Код

select  max(num),   max(name),   pkopis, max(pkorg)
from opis
join
org
on opis.pkopis = org.fkopis
where name like '%name%'
group by   pkopis

union all 

select num,   name,   pkopis, pkorg
from opis
join
org
on opis.pkopis = org.fkopis
where name not like '%name%'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)