|
подсажите синтаксис как в зависимости от условия выбрать вид соединения? | ☑ | ||
---|---|---|---|---|
0
Cerera
01.04.13
✎
13:28
|
Есть запрос, принимающий входной параметр. Нужно чтоб в зависимости от этого параметра, запрос соединялся по левому соединению либо по внутреннему.
Вот сам запрос: ВЫБРАТЬ ЦелевыеПродуктыСрезПоследних.ЦелевойПродукт ПОМЕСТИТЬ Целевые ИЗ РегистрСведений.ЦелевыеПродукты.СрезПоследних(&ВыбКонПериода, ) КАК ЦелевыеПродуктыСрезПоследних ГДЕ ЦелевыеПродуктыСрезПоследних.Действует = ИСТИНА ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Наименование КАК НоменклатураНоменклатурнаяГруппаНаименование, ПродажиОбороты.Контрагент КАК Контрагент, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот, &ТолькоЦелевые ИЗ РегистрНакопления.Продажи.Обороты(&ВыбНачПериода, &ВыбКонПериода, , ) КАК ПродажиОбороты Левое СОЕДИНЕНИЕ Целевые КАК Целевые ПО ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа = Целевые.ЦелевойПродукт СГРУППИРОВАТЬ ПО ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Наименование УПОРЯДОЧИТЬ ПО НоменклатураНоменклатурнаяГруппаНаименование Как сделать чтоб если параметр "&ТолькоЦелевые" если равен Истина, тогда чтоб было внутреннее соединение, в противном случае, левое? |
|||
1
Лефмихалыч
01.04.13
✎
13:30
|
ГДЕ выбор когда &ТолькоЦелевые тогда не ПолеПравойТаблицы есть null иначе истина конец
|
|||
2
Defender aka LINN
01.04.13
✎
13:31
|
(0) Мда. Слова "ЕСТЬ НЕ NULL" о чем-нибудь говорят?
|
|||
3
Лефмихалыч
01.04.13
✎
13:31
|
ну или полелевойтаблицы - я их там стороны эти путаю вечно
|
|||
4
unkairosed
01.04.13
✎
13:32
|
Если ТолькоЦелевые Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "ЛЕВОЕ", "ВНУТРЕННЕЕ"); КонецЕсли; |
|||
5
Галахад
гуру
01.04.13
✎
13:32
|
Нафига вообще нужно соединение, если ни одно поле из второй таблицы не используется?
|
|||
6
Cerera
01.04.13
✎
13:32
|
(2)говорит. но я не знаю синтаксис как вид соединения менять.
|
|||
7
Cerera
01.04.13
✎
13:33
|
(4)ну уж нет. у меня СКД
|
|||
8
Cerera
01.04.13
✎
13:33
|
(5)чтоб фильтровать
|
|||
9
Cerera
01.04.13
✎
13:34
|
(2)ну я знаю для чего Есть Нулл но хотел же чтоб запрос видоизменялся по виду соединения.
|
|||
10
Defender aka LINN
01.04.13
✎
13:34
|
(6) А нахрена менять вид соединения, если результат аналогичен будет?
|
|||
11
Ювелир
01.04.13
✎
13:34
|
(9)тебе Шашечки или ехать?
|
|||
12
Ювелир
01.04.13
✎
13:35
|
в (1) все нарисовано, пользуй и улыбайся!
|
|||
13
Галахад
гуру
01.04.13
✎
13:38
|
ГДЕ
ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа = Целевые.ЦелевойПродукт И (НЕ &ТолькоЦелевые) |
|||
14
Cerera
01.04.13
✎
13:38
|
(6)чтобы знать как это делать. так то придется как в (1) сделать но это не порядок что я не научился ничему в этой ветке.
|
|||
15
Лефмихалыч
01.04.13
✎
13:39
|
так и знал, что правильный ответ не поможет, даже если его представить в виде фрагмента запроса, который бери да копипасть
|
|||
16
Ювелир
01.04.13
✎
13:41
|
(14) Хм. Правильный ответ на твой вопрос будет работать дольше. Сам ответ будет боле сложным и не очевидным. Ибо нужно будет написать процедуру которая внутри СКД будет подставлять два разных запроса. Прямо как в анекдоте про фею и студента.
|
|||
17
Cerera
01.04.13
✎
13:43
|
(15)я воспользовался вашим советом)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |