sql запрос
sql запрос
Каким запросом посмотреть, у каких абонентов сумма списания абон платы, т.е периодическая составляющая равна 0 ?
Попробуйте запрос такого рода:
Код: Выделить всё
SELECT
a.id
, psd.cost money
FROM
accounts a
JOIN account_tariff_link atl ON (a.id = atl.account_id)
JOIN tariffs_services_link tsl ON (atl.tariff_id = tsl.tariff_id)
JOIN periodic_services_data psd ON (tsl.service_id = psd.id)
JOIN services_data sd ON (tsl.service_id = sd.id)
WHERE
a.is_deleted = 0
AND atl.is_deleted = 0
AND tsl.is_deleted = 0
AND psd.is_deleted = 0
AND sd.is_deleted = 0
AND sd.service_type = 2
AND psd.cost = 0
ORDER BY a.id
MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0001 сек. )
не правильно что то в скрипте пустой результат. А точно знаю что есть абоненты у которых нет переодической составляющей т.е. абонплаты.
Но открывать и смотреть каждого муторное дело и продолжительное.
Поправьте что не так сборка 5.2.1-009
не правильно что то в скрипте пустой результат. А точно знаю что есть абоненты у которых нет переодической составляющей т.е. абонплаты.
Но открывать и смотреть каждого муторное дело и продолжительное.
Поправьте что не так сборка 5.2.1-009
Код: Выделить всё
SELECT
a.id
FROM
accounts a
JOIN account_tariff_link atl ON (a.id = atl.account_id)
JOIN tariffs_services_link tsl ON (atl.tariff_id = tsl.tariff_id)
JOIN periodic_services_data psd ON (tsl.service_id = psd.id)
JOIN services_data sd ON (tsl.service_id = sd.id)
WHERE
a.is_deleted = 0
AND atl.is_deleted = 0
AND tsl.is_deleted = 0
AND psd.is_deleted = 0
AND sd.is_deleted = 0
GROUP BY a.id
HAVING
GROUP_CONCAT(DISTINCT sd.service_type ORDER BY sd.service_type)='3'
AND SUM(psd.cost)=0
ORDER BY a.id
;