Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание запросов по условию, где оператор сравнения как тип данных. / 6 сообщений из 6, страница 1 из 1
02.06.2010, 18:57
    #36664994
kaskiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
Надо реализовать выбор товаров по условиям таблицы Правил.
Упрощенный пример. В БД есть две таблицы: "Продукты" и "Правила выбора".

Таблица Продукты
1. Код продукта
2. Цена продукта

Таблица Правила выбора
1. Код правила
2. Условие отбора (>, <, >=, <=, ==, !=)
3. Значение условия

Таблица Продукты
1 10.0$
2 15.0$
3 8.0$
4 21.0$

Таблица Продукты
1 ">" 12.0$
2 "<" 16.0$

Пользователь может пополнять в том числе и таблицу Правила.
Нужно, например, реализовать выборку.
Для первого правила. Выбрать все продукты с ценой >12$. Это продукты №2 (15$), №4 (21$).
Для вотрого правила. Выбрать все продукты с ценой <16$. Это продукты №1 (10$), №2 (15$) и №3 (8$).

Вопрос:
Как грамотнее реализовать такой выбор товаров по условиям таблицы Правил? При помощи запросов SQL или помощи языка программирование на стороне клиента?
Правильнее использовать вместо строк условий (">", "<") коды условий (например, 1 -это ">", 2 - это "<")?

Искал, но не нашел(может не знаю ключевых слов по теме).
...
Рейтинг: 0 / 0
02.06.2010, 19:02
    #36665010
kaskiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
Ошибся в названии таблицы. Вот так правильно.
Таблица Правила
1 ">" 12.0$
2 "<" 16.0$
...
Рейтинг: 0 / 0
03.06.2010, 09:08
    #36665685
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
У вас в вашей грамматике только двухместные операторы. Не хватает И, ИЛИ. Нет поиска по названию лайком.

Я в аналогичной ситуации сделал справочник грамматики, для каждого оператора задал правило трансляции его в SQL и сделал на клиенте формирование SQL строки WHERE для набранного в конструкторе выражения. Строка соединяется с SELECT ... FROM ... и скармливается серверу.
...
Рейтинг: 0 / 0
03.06.2010, 11:15
    #36665979
Naf
Naf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
а зачем нужна Таблица Правила выбора?
...
Рейтинг: 0 / 0
03.06.2010, 12:30
    #36666277
kaskiev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
Программист-Любитель
Я в аналогичной ситуации сделал справочник грамматики, для каждого оператора задал правило трансляции его в SQL и сделал на клиенте формирование SQL строки WHERE для набранного в конструкторе выражения. Строка соединяется с SELECT ... FROM ... и скармливается серверу.
Похоже это действительно реальный/оптимальный вариант.

Naf а зачем нужна Таблица Правила выбора?
Я привел сильно упрощенный пример. Допустим пользователь накапливает правила, а потом только по Коду_правила вызывает его.
...
Рейтинг: 0 / 0
06.06.2010, 17:00
    #36671816
stenford
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание запросов по условию, где оператор сравнения как тип данных.
тоже интересует этот вопрос. По сути пользователюнадо самому указывать критерии отчета. Никто для этого Analysis Services в mssql не пытался использовать?
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание запросов по условию, где оператор сравнения как тип данных. / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]