[ОТВЕТИТЬ]
Опции темы
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.
 
"Спасибо" OlegON от:
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, время: 07:00.

Все в прочитанное - Донат - RSS - - Карта - Вверх

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