Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
ВнизУникальные записи с заковыркой Найти похожие ветки
← →
wed (2002-09-19 13:30) [0]Есть поля Z и W. Z - наименование
W - признак склада если "*", то склад №1, если пусто, то склад №2
Как сделать запрос, чтобы выводились уникальные наименования и признак склада с условием, если есть товар на обоих складах, то ставился любой другой признак. Пробовал и группировку и Distinct - всегда выводится два наименования.
Спасибо.
← →
Дикий_мужчина (2002-09-19 13:33) [1]как субд если ораклий используй decode(поле, чему равно, что выводить, .....)дальше можно ссотавить список значений и то что им соответствует для вывода
← →
ЮЮ (2002-09-19 13:39) [2]> если пусто, то склад №2
В склад №2 надо взять другого кладовщика, менее вороватого :-)
И молить бога, чтобы у заказчика не появился склад №3 :-))
← →
ЮЮ (2002-09-19 13:45) [3]>как субд если ораклий
Под ораклий ещё третий склад не постоили
← →
Max Zyuzin (2002-09-19 13:48) [4]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=" ")
)
О как я наваял :)
← →
Johnmen (2002-09-19 13:49) [5]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:50) [6]Ой... я перепутал вместо join конечно надо писать union ;) О чем думал...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.10.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c