|
|
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
добрый день есть такое условие у банка, который требует документы от клиента, ему нужна 2-ндфл ИЛИ трудовая при поиске неизвестно, чего хочет банк, банков много, просто есть трудовая например (tk=1), как попасть в это условие? как его сохранить вообще в базе правильно и потом найти? условия могут быть такими: 1. пакет документов. 2. пакет + один из нескольких + еще один из нескольких. 3. пакет + (один ПАКЕТ ИЛИ второй ПАКЕТ ИЛИ третий пакет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:02:07 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
tip78как его сохранить вообще в базе правильно Ввести в структуру таблицы банков поле packet со ссылкой на запись в таблице пакетов. tip78и потом найти? Код: sql 1. tip78условия могут быть такими: Для заданного вопроса это неважно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:23:51 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
Akinatip78как его сохранить вообще в базе правильно Ввести в структуру таблицы банков поле packet со ссылкой на запись в таблице пакетов. а таблица пакетов как выглядит, и запись в ней? и как ссылка выглядит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:33:13 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
авторSELECT packet FROM banks WHERE name = 'Нужный банк' это я так найду пакет а мне надо найти банк, который удовлетворяет условию (при наличии ТК у клиента например) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:34:51 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
А это ты напишешь развёртку пакетов в список документов. Причём для каждого банка ты получишь пачку альтернативных развёрток. И по полученным развёрткам уже сделаешь отбор. Учиывая типы возможных вложений пакетов, думаю, что лучше это реализовывать хранимой процедурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:39:04 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
так, хотелось бы по-русски, чтобы у меня картина понимания получилась в таблице packets как выглядит строка пакета со сборником документов ИЛИ bank='bank1',packet='packet1',doc1='ndfl',doc2='tk',doc3='td' (это ИЛИ) bank='bank1',packet='packet2',doc1='pass' bank='bank1',packet='packet3',doc1='inn' как-то так? тогда, если у клиента нет tk, то where doc1 != 'tk' AND doc2 != 'tk' AND doc3 != 'tk' а потом ещё раз проверять (для каждого банка), чтобы у этого банка _во всех_ пакетах не было тк а ещё для каждого документа так делать надо топорно, мягко говоря.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 12:56:34 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
Должна быть таблица пакетов, определяющая, из чего состоит пакет. Причём вариантов всего три: 1) Документ A AND Документ B AND Документ С AND ... 2) Пакет Y AND Пакет Z 3) Пакет Y OR Пакет Z Рекурсивная процедура достаточно легко разворачивает такую структуру в варианты списков документов. А далее ты просто накладываешь список имеющихся у клиента документа как условие отбора (шаблон-маска) и выводишь все записи, которые NOT (NOT IN). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 13:30:43 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
я никогда не писал процедуры в sql и сейчас пытаюсь понять суть алгоритма в деталях и вот это: Akina1) Документ A AND Документ B AND Документ С AND ... 2) Пакет Y AND Пакет Z 3) Пакет Y OR Пакет Z как это в таблицу то положить?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 14:31:17 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
Да хоть бы и Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 14:49:06 |
|
||
|
сложный поиск в группах с ИЛИ
|
|||
|---|---|---|---|
|
#18+
Akina Код: sql 1. это TINYINT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2015, 15:20:46 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38918894&tid=1833375]: |
0ms |
get settings: |
5ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 338ms |

| 0 / 0 |
