SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.05.2019 11:17:28

Kolobrod
Участник
Зарегистрирован: 27.05.2019
Сообщений: 2

Всем доброго дня! помогите пжл решить задачу!!

Задача: Вывести всех клиентов у кого по адресу подкл. только одна услуга.
Как это реализовать? Заранее спасибо!!!

Вид запроса:

select
cn.v_ext_ident,
cl.v_address_contact,
cl.v_phone,
s.id_service
--pr.v_name,
--MD.V_NAME district

from fw_clients cl
JOIN fw_contracts CN
ON cl.id_client_inst=cn.id_client_inst
AND CL.B_DELETED=0 --показатель что услуга не удалена
AND CN.B_DELETED=0--показатель что услуга не удалена
and cl.v_address_contact like '%Маштакова ул., 4б%' --временное условие, чтобы список был меньше
and cl.dt_start<=current_timestamp
and cl.dt_stop>=current_timestamp
and cn.dt_start<=current_timestamp
and cn.dt_stop>=current_timestamp

JOIN FW_SERVICES S
ON cn.id_contract_inst=S.ID_CONTRACT_INST
and s.id_service=2013
and s.id_service in (2, 3, 2013) -- ид услуг 2-Интернет, 3 - ЦТВ, 2013 - АТВ
and s.b_deleted = 0--показатель что услуга не удалена
and s.v_status != 'D'
and S.dt_start<=current_timestamp
and S.dt_stop>=current_timestamp

Неактивен

 

#2 27.05.2019 13:11:48

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Всем доброго дня! помогите пжл решить задачу!!

>Вывести всех клиентов у кого по адресу подкл. только одна услуга.
Как, через какие поля можно определить, что у клиента только одна услуга?
Приведите структуру таблицы, тестовое наполнение и ожидаемый результат выполнения запроса.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 27.05.2019 13:50:55

Kolobrod
Участник
Зарегистрирован: 27.05.2019
Сообщений: 2

Re: Всем доброго дня! помогите пжл решить задачу!!

( тип услуги поле s.id_service).  (2,3,2013) --->2-Интернет,  3- ЦТВ,     2013- АТВ

в скриншоте с правой стороны результат выборки запроса который описан выше, в этом  случае выводятся все услуги (s.id_service in  (2,3,2013)
и дублируется адрес (к одному адресу может быть привязано несколько услуг которые кроме адреса ничем не связанны)

в итоге нужно чтобы он принимал id услуги и проверял что помимо нее по данной кв. более услуг нет.
надеюсь понятно объяснил и
простите не понял структура 3-х таблиц вам нужна?


Прикрепленные файлы:
Attachment Icon Screenshot_1.png, Размер: 77,704 байт, Скачано: 279

Неактивен

 

#4 27.05.2019 14:05:37

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Всем доброго дня! помогите пжл решить задачу!!

Создайте пример на sqlfiddle.com
, как например тут

http://sqlfiddle.com/#!9/a6c585/1

, чтобы были таблицы и набор тестовых данных, на их основе сделаем решение.

Тестовые данные пускай включают в себя двух клиентов - у одного по адресу подключена только одна услуга, у второго пусть две будут подключены.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson