|
Помогите составить запрос | ☑ | ||
|---|---|---|---|---|
|
0
Aleksey
14.05.14
✎
00:11
|
Что то никак не соображу текст запроса
Дано В типовая ТиС есть справочник "Свойства номенклатуры" который подчинен справочнику Номенклатура и имеет 2 реквизита ВидСвойства (Справочник) и ЗначениеСвойства (Справочник) Допустим в справочнике есть следующие записи Владелец (Номенклатура) | Вид свойства | Значение Ручка - Группа - канцтовары - Цвет - синий Карандаш - Группа - канцтовары - Цвет - красный Стол - Группа - Мебель Стул - Группа - Мебель - Цвет - синий Маркер - Группа - маркер - Цвет - синий Пользователь задает несколько значений свойств. в качестве фильтра. На выходе нужно получить список номенклатуры. При этом если пользователь задает значения свойств одного вида, то условие должно отрабатываться как ИЛИ, а если разного вида, то как И Т.е. пользователь задал следующие условия - Группа - канцтовары - Группа - мебель - Цвет - синий В результате в выборе должно получится Ручка и Стул Карандаш не подходит, так как цвет не синий. Стол тоже в пролёте, так как у него цвет вообще не указан, Маркер не входит в отбираемую группу Вот что то никак в голову текст запроса не лезет, может кто поможет? |
|||
|
1
Aleksey
14.05.14
✎
00:12
|
Блин тема по 7-ке, но по сути не важно, ибо буду юзать 1sqlite, т.е. текст запроса будет примерно одинаковый, что в 7-ке что в 8-ке
|
|||
|
2
viktor_vv
14.05.14
✎
00:20
|
Ну так при обработке фильтра загоняй значения свойств одинакового вида в отдельные списки, укладывай списки, а дальше
Или кучу внутренних соединений с временными таблицами (в sqlite вроде как лучше левое соединение с условием в Where на вторую таблицу), либо в Where ПолеЗначенияСвойства in (Select val From ВремТаблица) и все это через И . Текст запроса таки придется динамически формировать. |
|||
|
3
Aleksey
14.05.14
✎
00:27
|
Да вот тоже в голове крутится запрос в цикле с укладыванием результата во временную таблицу
|
|||
|
4
viktor_vv
14.05.14
✎
00:51
|
Только е запрос в цикле, а формирование текста запроса динамически, запрос один будет.
Ну и там ЗначениеСвойств наверное Справочник неопределенного вида, а в УложитьОбъекты будет ИД без вида char(9), надо будет еще вид добавлять в условие связи. |
|||
|
5
viktor_vv
14.05.14
✎
00:51
|
*Только не запрос в цикле ...
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |