Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Как вытащить постащиков с бит флагом "Контроль приходных цен"? : Супермаг Плюс (Супермаг 2000)

25.04.2024 12:14


07.05.2015 12:52
hells
 
Пытаюсь вытащить из контрактов но чего-то не хватает. Подскажите что- нибудь.

select ci.NAME as "Поставщик",
su.ORDERDELIVERYKIND as "Способ передачи",
(select decode(su.FLAGS, '4', 'Контроль') from smsuppliers su where su.ID = ci.ID) as "Дни",
co.ID as "Номер контракта",
co.BEGINSAT as "Дата начала контракта",
co.ENDSAT as "Дата окончания контракта"
from smclientinfo ci, smsuppliers su, SMCONTRACTS co, smdocuments d
where ci.ID = su.ID
and d.DOCTYPE = 'CO'
and d.ID = co.ID
and d.DOCSTATE = '2'
and d.CLIENTINDEX = ci.ID
order by ci.NAME;
07.05.2015 12:59
OlegON
 
Задача как-то не ясна. Если флагом надо ограничить, то это в where и bitand, а не в выводе и decode.
07.05.2015 13:22
hells
 
Этого как раз и не хватало. Спасибо.
07.05.2015 13:30
OlegON
 
Неплохо было бы привести итоговый вариант, вдруг кому-то пригодится...
07.05.2015 13:39
hells
 
select ci.NAME as "Поставщик",
su.PAYMENTDELAY as "Отсрочка",
(select bitand(flags, 2) from smsuppliers su where su.ID = ci.ID) as "Контроль",
co.ID as "Номер контракта",
co.BEGINSAT as "Дата начала контракта",
co.ENDSAT as "Дата окончания контракта"
from smclientinfo ci, smsuppliers su, SMCONTRACTS co, smdocuments d
where ci.ID = su.ID
and d.DOCTYPE = 'CO'
and d.ID = co.ID
and d.DOCSTATE = '2'
and d.CLIENTINDEX = ci.ID
order by ci.NAME;

Результат: 2 - Под контролем, 0 - Без контроля цен
Часовой пояс GMT +3, время: 12:14.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.