|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
Добрый день. Ни как не могу победить! Ситуация следующая: Есть кабинеты, где оказывают услуги клиентам, одни услуги оказываются только в одних кабинетах, другие в других. Пример: Клиенту оказываю 3 услуги, первая услуга может быть оказана только в 1-м, во 2-м и в 3-м кабинете, вторая услуга может быть оказана только 1-м и в 3-м, а третья услуга оказывается только в 4-м кабинете, т.е.: Услуга 1: кабинет 1 - 2 - 3 Услуга 2: кабинет 1 - 3 Услуга 3: кабинет 4 Задача: нужно вывести все возможные варианты оказания услуг по кабинетам, должно получиться так: № варианта Кабинет 1 1 1 4 2 3 2 4 т.е. могут быть только 2 варианта, при котором все три услуги будут оказаны в 1 визит клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 20:35 |
|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
Непонятно вот ни хрена... особенно - по какой причине он не может получить услугу 1 в кабинете 2, потом услугу 2 в кабинете 3, и, наконец, услугу 3 в кабинете 4. Как и неясно, что есть "1 визит клиента". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 21:48 |
|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
Гусельников Игорь Задача: нужно вывести все возможные варианты оказания услуг по кабинетам, должно получиться так: ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 22:37 |
|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
Гусельников Игорь, Назовите услуги буквами, а кабинеты - цифрами, так будет меньше путаницы. К вам приходит клиент типа ABC, т.е. он хочет три услуги в этом порядке. А: кабинеты 1,2 или 3 (три варианта) B: кабинеты 1,3 С: кабинет 4. Этого клиента можно гонять по кабинетом шестью способами, 3*2*1. А-В-С 1-1-4 1-3-4 2-1-4 2-3-4 3-1-4 3-3-4 Получить все эти комбинации можно джойнами по А,В,С. Если клиенту эти услуги можно предоставить в любом порядке, число комбинаций умножится на N! где N - число услуг. Не все комбинации кабинетов будут уникальными. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2020, 07:39 |
|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
НеофитSQL Гусельников Игорь, Назовите услуги буквами, а кабинеты - цифрами, так будет меньше путаницы. К вам приходит клиент типа ABC, т.е. он хочет три услуги в этом порядке. А: кабинеты 1,2 или 3 (три варианта) B: кабинеты 1,3 С: кабинет 4. Этого клиента можно гонять по кабинетом шестью способами, 3*2*1. А-В-С 1-1-4 1-3-4 2-1-4 2-3-4 3-1-4 3-3-4 Получить все эти комбинации можно джойнами по А,В,С. Если клиенту эти услуги можно предоставить в любом порядке, число комбинаций умножится на N! где N - число услуг. Не все комбинации кабинетов будут уникальными. Добрый день. Да, я не раскрыл вопрос полностью, уточняю: нужно отобразить варианты по принципу наименьшего участия кабинетов для оказания всех услуг: если это одна услуга и по кабинетам: 1-2-3, то тут будет 3 варианта: 1 вар. - 1 каб. 2 вар. - 2 каб. 3 вар. - 3 каб. если две услуги, по кабинетам: 1-2-3 и 1-3, то получаем 2 варианта 1 вар. - 1 каб. 2 вар. - 3 каб. если 3 услуги, по кабинетам: 1-2-3, 1-3 и 4, будет 2 варианта, но у каждого варианта по 2 кабинета, в табличном виде: 1 вар. - 1 каб. 1 вар. - 4 каб. 2 вар. - 3 каб. 2 вар. - 4 каб. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2020, 08:31 |
|
Помогите с написанием запроса
|
|||
---|---|---|---|
#18+
Игорь_UUS уточняю: нужно отобразить варианты по принципу наименьшего участия кабинетов для оказания всех услуг: после группировки сортировка по полю "количество" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2020, 11:51 |
|
|
start [/forum/topic.php?fid=46&fpage=39&tid=1685301]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 121ms |
0 / 0 |