|
ЯзыкЗапросов: как условно выбрать исходную таблицу из двух? |
☑ |
0
ЕщеОдин Программист
08.04.16
✎
06:15
|
Нужно в запросе в зависимости от условия выбрать одну из двух таблиц выборки данных. Я вижу вариант составить в подзапросе объединение из двух вариантов и с дополнительным полем признака, по которому в основном запросе сделать отбор. Есть ли еще какие конструкции?
|
|
1
Рэйв
08.04.16
✎
06:22
|
А в чем условие?
|
|
2
los_hooliganos
08.04.16
✎
06:45
|
запрос1
где выбор когда ф = &a тогда истина
иначе ложь конец
там делает с любым запросом.
можно 2 объединить а можно каждый выбрать отдельно, а можно ни одного
|
|
3
los_hooliganos
08.04.16
✎
06:46
|
а еще можно так 10 запросов объединять
|
|
4
ЕщеОдин Программист
08.04.16
✎
06:47
|
(2) да, а если условие зависит от значения в реквизите, полученного в этом же запросе?
|
|
5
los_hooliganos
08.04.16
✎
06:49
|
(4) засунь это в ГДЕ
В Транзакт Скуль можно делать коррелированные подзапросы.
1С это тоже давно обещала.
|
|
6
los_hooliganos
08.04.16
✎
06:51
|
(4) Если резальт подзапроса идет в сравнение где, нужно к резальту применять агрегат
Например
ГДЕ
(выбрать МАКСИМУМ(Количество) Из таблица) = 10
|
|
7
ЕщеОдин Программист
08.04.16
✎
06:54
|
(6) в смысле значение условия определяется в запросе-владельце, куда после отправляется результат подзапроса. Который в свою очередь либо первый запрос, либо второй - в зависимости от условия.
|
|
8
los_hooliganos
08.04.16
✎
06:57
|
(7) Я не понял смысла вашей реплики
|
|
9
ЕщеОдин Программист
08.04.16
✎
07:12
|
(8) к примеру в моем примере, я хочу проверить доступ до объекта, и что нибудь вроде этого (интерес в реализуемости, а не в возможности это разложить на более простые конструкции):
ГДЕ
Объект.Разделитель В
ВЫБОР КОГДА ТекПользователь.ТипРазделителя = 1 ТОГДА
(Выбрать ДопустимыеРазделители
ИЗ Таблица1)
ИНАЧЕ
(Выбрать ДопустимыеРазделители
ИЗ Таблица2)
КОНЕЦ
|
|