powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание запросов по условию, где оператор сравнения как тип данных.
6 сообщений из 6, страница 1 из 1
Создание запросов по условию, где оператор сравнения как тип данных.
    #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
Создание запросов по условию, где оператор сравнения как тип данных.
    #36665010
kaskiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибся в названии таблицы. Вот так правильно.
Таблица Правила
1 ">" 12.0$
2 "<" 16.0$
...
Рейтинг: 0 / 0
Создание запросов по условию, где оператор сравнения как тип данных.
    #36665685
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас в вашей грамматике только двухместные операторы. Не хватает И, ИЛИ. Нет поиска по названию лайком.

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

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


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