Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уникальные записи с заковыркой


wed ©   (2002-09-19 13:30:00) 

Есть поля Z и W. Z - наименование
W - признак склада если "*", то склад №1, если пусто, то склад №2
Как сделать запрос, чтобы выводились уникальные наименования и признак склада с условием, если есть товар на обоих складах, то ставился любой другой признак. Пробовал и группировку и Distinct - всегда выводится два наименования.
Спасибо.


Max Zyuzin   (2002-09-19 13:50:00) [1]

Ой... я перепутал вместо join конечно надо писать union ;) О чем думал...


Johnmen   (2002-09-19 13:49:00) [2]

SELECT Z,"№1 " AS Fld FROM Tbl
WHERE W="*"
GROUP BY Z
HAVING COUNT(Z)<2
UNION
SELECT Z,"№2 " AS Fld FROM Tbl
WHERE (W IS NULL) OR (W="")
GROUP BY Z
HAVING COUNT(Z)<2
UNION
SELECT Z,"оба" AS Fld FROM Tbl
GROUP BY Z
HAVING COUNT(Z)>=2


Max Zyuzin   (2002-09-19 13:48:00) [3]

select z, "ы" from mytab
where w = "*"
and z in (select z from mytab where w=" ")

join

select z, w from mytab
where w = "*"
and z not in (select z from mytab
where w = "*"
and z in (select z from mytab where w=" ")
)

join

select z, w from mytab
where w = " "
and z not in (select z from mytab
where w = "*"
and z in (select z from mytab where w=" ")
)

О как я наваял :)


ЮЮ   (2002-09-19 13:45:00) [4]

>как субд если ораклий
Под ораклий ещё третий склад не постоили


ЮЮ   (2002-09-19 13:39:00) [5]

> если пусто, то склад №2
В склад №2 надо взять другого кладовщика, менее вороватого :-)
И молить бога, чтобы у заказчика не появился склад №3 :-))


Дикий_мужчина   (2002-09-19 13:33:00) [6]

как субд если ораклий используй decode(поле, чему равно, что выводить, .....)дальше можно ссотавить список значений и то что им соответствует для вывода


Наверх

Титульная страница Поиск, карта сайта Написать письмо