>[оверквотинг удален]
> (select bank_id from _таблица банков требующих документ 1_)
> and
> bank_id not in
> (select bank_id from _таблица банков требующих документ 2_)
> and
> bank_id not in
> (select bank_id from _таблица банков требующих документ 3_)
> хотя все три таблицы имеет смысл привести к нормальной форме
> банки:пакеты
> пакеты:документы вот условие например:
Паспорт + 2-НДФЛ + II документ + III документ
II документ:
Загран/ВУ/ИНН/СНИЛС/ОМС
III документ:
СТС (4 года)/Загран (12 мес)/ДМС/ТК
заметь, первая строка это И
но в каждом из пакетов ИЛИ - нужен хотя бы 1 документ
и это не то условие, которое надо просто в sql перевести
это я клиентом с соответствующими документам должен найти банки с подходящими условиями
по-моему оно тут не сработает
как-то так:
разбить банк на пакеты и хранить в виде:
Паспорт
2-НДФЛ
Загран/ВУ/ИНН/СНИЛС/ОМС
СТС (4 года)/Загран (12 мес)/ДМС/ТК
потом найти те пакеты, которым удовлетворяют мои документы
и найти те банки, в которых ВСЕ их пакеты удовлетворены
table packets:
bank packet pass ndfl zagran vu inn snils oms sts zagranT dms tk
sber 1 1 0 0 0 0 0 0 0 0 0 0
sber 2 0 1 0 0 0 0 0 0 0 0 0
sber 3 0 0 1 1 1 1 1 0 0 0 0
sber 4 0 0 0 0 0 0 0 4 12 1 1