forum.bitel.ru
http://forum.bitel.ru/

помогите с sql-запросом
http://forum.bitel.ru/viewtopic.php?f=19&t=12750
Страница 1 из 1

Автор:  ok-2004 [ 15 дек 2017, 18:48 ]
Заголовок сообщения:  помогите с sql-запросом

Доброе ВС!
Надо в скл-редакторе вывести число активных договоров с определённым активным тарифом.
Создал такой запрос :
Код:
SELECT contract.title,contract.status,contract.status_date
FROM contract
WHERE contract.status <> "2" AND contract.id IN
(
select distinct cid from contract_tariff
where tpid="27"
 and (contract_tariff.date1 IS NULL OR contract_tariff.date1<=CURDATE())
 and (contract_tariff.date2 IS NULL OR contract_tariff.date2>=CURDATE())
)

Общее число выводимых договоров всегда на единицу меньше, чем число активных договоров для этого тарифа в справочнике тарифов.
Чо в этом запросе я не учёл ?
Спасибо...

Автор:  skyb [ 18 дек 2017, 07:04 ]
Заголовок сообщения:  Re: помогите с sql-запросом

Статус? видимо у того договора статус =2

Автор:  ok-2004 [ 18 дек 2017, 11:25 ]
Заголовок сообщения:  Re: помогите с sql-запросом

хм, и так для всех 219-договоров в справочнике тарифов ?
Всегда ровно на единицу , ровно на на единицу в одну сторону.

Автор:  Phricker [ 18 дек 2017, 12:10 ]
Заголовок сообщения:  Re: помогите с sql-запросом

А у меня ровно всё по справочнику.
Проверял на 2 тарифах.

Автор:  skyb [ 19 дек 2017, 07:27 ]
Заголовок сообщения:  Re: помогите с sql-запросом

ok-2004 писал(а):
хм, и так для всех 219-договоров в справочнике тарифов ?
Всегда ровно на единицу , ровно на на единицу в одну сторону.

так проверьте запросом что выведет
Код:
SELECT contract.title,contract.status,contract.status_date
FROM contract
WHERE contract.status = "2" AND contract.id IN
(
select distinct cid from contract_tariff
where tpid="27"
 and (contract_tariff.date1 IS NULL OR contract_tariff.date1<=CURDATE())
 and (contract_tariff.date2 IS NULL OR contract_tariff.date2>=CURDATE())
)

Автор:  ok-2004 [ 19 дек 2017, 15:38 ]
Заголовок сообщения:  Re: помогите с sql-запросом

Не серчайте за вчерашнее молчание. ( крыса дома рожала, просила быть рядом ).
Все цифры совпали когда я убрал строку "....contract.status <> "2"..." из запроса.
Действительно был договор в статусе =2.
ЗЫ:
Просто думал, что в стравочнике тарифов фраза "договоров ( активных)" означает договора в статусе не 2, а на самом деле это означает договора с активными тарифами ( у которых текущая дата вписывается между date1 и date2 )
Прошу понять и простить (c)

Автор:  skyb [ 20 дек 2017, 12:20 ]
Заголовок сообщения:  Re: помогите с sql-запросом

как крыса то? родила? кого? ))))

Автор:  ok-2004 [ 20 дек 2017, 12:51 ]
Заголовок сообщения:  Re: помогите с sql-запросом

Да, крыса старая ( 2 года ) родила только 4 очаровательных крысяточек, солнышки наши красненькие.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/