|
помогите с запрос | ☑ | ||
---|---|---|---|---|
0
dreamoff
05.07.13
✎
16:11
|
есть запрос
"ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПДСОстатки.СуммаОстаток КАК Накопления, | БазыДанных.Ссылка КАК Заведение, | ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, ""0"") КАК Скидка, | КартыПДС.Ссылка |ИЗ | Справочник.КартыПДС КАК КартыПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КартыПДС.УсловияПДС КАК КартыПДСУсловияПДС | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПДС.Остатки(&НаДату, КартаПДС = &КартаПоиска) КАК ПДСОстатки | ПО КартыПДСУсловияПДС.Карта = ПДСОстатки.КартаПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БазыДанных КАК БазыДанных | ПО КартыПДСУсловияПДС.БазаДанных = БазыДанных.Ссылка | ПО КартыПДС.Ссылка = КартыПДСУсловияПДС.Ссылка | И (ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Больше) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.БольшеРавно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Меньше) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.МеньшеРавно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА ИСТИНА | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Равно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА ИСТИНА | КОНЕЦ) |ГДЕ | (КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.Дисконтная) | ИЛИ КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.ПлатежноДисконтная)) | И КартыПДСУсловияПДС.ПериодДействияНачало <= &НаДату | И (КартыПДСУсловияПДС.ПериодДействияОкончание >= &НаДату | ИЛИ КартыПДСУсловияПДС.ПериодДействияОкончание = ДАТАВРЕМЯ(1, 1, 1)) | И КартыПДС.Ссылка = &КартаПоиска но я никак не могу понять как сделать,что бы выводилась скидка ,когда накоплений нет.помогите и объяснить пожалуйста |
|||
1
IBTM
05.07.13
✎
16:13
|
Выбор когда "накоплений нет" Тогда "Скидка" Конец
|
|||
2
dreamoff
05.07.13
✎
16:14
|
в смысле из "где" перенести в "выбрать"?
|
|||
3
IBTM
05.07.13
✎
16:16
|
ага
|
|||
4
dreamoff
05.07.13
✎
16:20
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПДСОстатки.СуммаОстаток КАК Накопления, | БазыДанных.Ссылка КАК Заведение, | ВЫБОР | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Больше) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.БольшеРавно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Меньше) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.МеньшеРавно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | КОГДА КартыПДСУсловияПДС.ТипСравнения = ЗНАЧЕНИЕ(Перечисление.ТипыСравнений.Равно) | И ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, ""0"") | КОНЕЦ КАК Скидка, | КартыПДС.Ссылка |ИЗ | Справочник.КартыПДС КАК КартыПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КартыПДС.УсловияПДС КАК КартыПДСУсловияПДС | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПДС.Остатки(&НаДату, КартаПДС = &КартаПоиска) КАК ПДСОстатки | ПО КартыПДСУсловияПДС.Карта = ПДСОстатки.КартаПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БазыДанных КАК БазыДанных | ПО КартыПДСУсловияПДС.БазаДанных = БазыДанных.Ссылка | ПО КартыПДС.Ссылка = КартыПДСУсловияПДС.Ссылка |ГДЕ | (КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.Дисконтная) | ИЛИ КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.ПлатежноДисконтная)) | И КартыПДСУсловияПДС.ПериодДействияНачало <= &НаДату | И (КартыПДСУсловияПДС.ПериодДействияОкончание >= &НаДату | ИЛИ КартыПДСУсловияПДС.ПериодДействияОкончание = ДАТАВРЕМЯ(1, 1, 1)) | И КартыПДС.Ссылка = &КартаПоиска сделал так,все равно ничего не показывает.а скидка есть( |
|||
5
Ёпрст
05.07.13
✎
16:29
|
Условия из ГДЕ перенеси в условия присоединения таблички
КартыПДСУсловияПДС |
|||
6
Ёпрст
05.07.13
✎
16:29
|
наслаждаться
|
|||
7
dreamoff
05.07.13
✎
16:34
|
(6) это только выведет карту.а скидку все равно не выводит
|
|||
8
dreamoff
05.07.13
✎
16:34
|
точнее срабатывает вот это
ИНАЧЕ ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, ""0"") |
|||
9
Ёпрст
05.07.13
✎
16:43
|
зачем тебе скидка строка 0 ?
мот число пихать будешь ? |
|||
10
dreamoff
05.07.13
✎
16:45
|
это запрос из тестового отчет,в рабочем там число стоит
|
|||
11
Ёпрст
05.07.13
✎
16:49
|
И.. что не устраивает ?
|
|||
12
dreamoff
05.07.13
✎
16:50
|
в табличной части справочника карточки есть скидка,но нет движений по этой карточке.нужно выводить просто скидку,если нет движений.а запрос ничего кроме не выводит
|
|||
13
Ёпрст
05.07.13
✎
16:52
|
Ну ясно, условие ПО сделай сразу после соединения таблиц
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КартыПДС.УсловияПДС КАК КартыПДСУсловияПДС |
|||
14
Ёпрст
05.07.13
✎
16:52
|
а не после..
|
|||
15
dreamoff
05.07.13
✎
16:57
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПДСОстатки.СуммаОстаток КАК Накопления, | БазыДанных.Ссылка КАК Заведение, | ВЫБОР | КОГДА ПДСОстатки.СуммаОстаток ЕСТЬ NULL | ТОГДА КартыПДСУсловияПДС.ПроцентСумма | ИНАЧЕ ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, 0) | КОНЕЦ КАК Скидка, | КартыПДС.Ссылка |ИЗ | Справочник.КартыПДС КАК КартыПДС | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КартыПДС.УсловияПДС КАК КартыПДСУсловияПДС | ПО КартыПДС.Ссылка = КартыПДСУсловияПДС.Ссылка | И (КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.Дисконтная) | ИЛИ КартыПДСУсловияПДС.ТипКарты = ЗНАЧЕНИЕ(Перечисление.ТипКарты.ПлатежноДисконтная)) | И (КартыПДСУсловияПДС.ПериодДействияНачало <= &НаДату) | И (КартыПДСУсловияПДС.ПериодДействияОкончание >= &НаДату | ИЛИ КартыПДСУсловияПДС.ПериодДействияОкончание = ДАТАВРЕМЯ(1, 1, 1)) | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БазыДанных КАК БазыДанных | ПО (КартыПДСУсловияПДС.БазаДанных = БазыДанных.Ссылка) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПДС.Остатки(&НаДату, КартаПДС = &КартаПоиска) КАК ПДСОстатки | ПО (КартыПДСУсловияПДС.Карта = ПДСОстатки.КартаПДС) |ГДЕ | КартыПДС.Ссылка = &КартаПоиска может что не так сделал?ничего не изменилось |
|||
16
Ёпрст
05.07.13
✎
17:00
|
А так ?
//| ВЫБОР //| КОГДА ПДСОстатки.СуммаОстаток ЕСТЬ NULL //| ТОГДА КартыПДСУсловияПДС.ПроцентСумма //| ИНАЧЕ ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, 0) //| КОНЕЦ КАК Скидка, |ЕСТЬNULL(КартыПДСУсловияПДС.ПроцентСумма, 0) КАК Скидка, |
|||
17
dreamoff
05.07.13
✎
17:09
|
так показывает только если есть движение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |