|
Запрос не правильно работает | ☑ | ||
---|---|---|---|---|
0
SH_tan
29.05.14
✎
17:12
|
есть запрос в котором С помощью ОБЪЕДИНИТЬ ВСЕ объединяю цены (их 2типа Закуп и Оптовая) и остатки по товару
если поставить туда условие например цена больше 0 то пропадают другие значения в других колонках, не знаю как поправить в Запросе |
|||
1
SH_tan
29.05.14
✎
17:13
|
если интересно то запрос тут
ВЫБРАТЬ ЕСТЬNULL(ЦеныКомпанииСрезПоследних.Номенклатура, 0) КАК Товар, ЕСТЬNULL(ЦеныКомпанииСрезПоследних.Цена, 0) КАК ЦенаЗак, 0 КАК ЦенаОпт, 0 КАК Остаток ПОМЕСТИТЬ ЦеныКомпании ИЗ РегистрСведений.ЦеныКомпании.СрезПоследних КАК ЦеныКомпанииСрезПоследних ГДЕ ЦеныКомпанииСрезПоследних.ТипЦен = &Оптовая ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЕСТЬNULL(ЦеныКомпанииСрезПоследних.Номенклатура, 0), 0, ЕСТЬNULL(ЦеныКомпанииСрезПоследних.Цена, 0), 0 ИЗ РегистрСведений.ЦеныКомпании.СрезПоследних КАК ЦеныКомпанииСрезПоследних ГДЕ ЦеныКомпанииСрезПоследних.ТипЦен = &Закупочная ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ЕСТЬNULL(ОстаткиТоваровОстатки.Товар, 0), 0, 0, ЕСТЬNULL(ОстаткиТоваровОстатки.ОстатокТовараОстаток, 0) ИЗ РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЦеныКомпании.Товар, СУММА(ЦеныКомпании.ЦенаЗак) КАК ЦенаЗак, СУММА(ЦеныКомпании.ЦенаОпт) КАК ЦенаОпт, СУММА(ЦеныКомпании.Остаток) КАК Остаток ИЗ ЦеныКомпании КАК ЦеныКомпании СГРУППИРОВАТЬ ПО ЦеныКомпании.Товар ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ ЦеныКомпании |
|||
2
Злобный монстр
29.05.14
✎
17:13
|
(0) Сочувствую.
|
|||
3
Злобный монстр
29.05.14
✎
17:13
|
(1) Вот так сразу бы.
|
|||
4
Злобный монстр
29.05.14
✎
17:16
|
(1) Условие куда пихаешь?
|
|||
5
Александр Б
29.05.14
✎
17:17
|
Нужно сперва сгруппировать, а потом условие накладывать.
|
|||
6
Fragster
гуру
29.05.14
✎
17:18
|
А зачем там ЕстьNULL?
|
|||
7
Александр Б
29.05.14
✎
17:18
|
Либо добавить конструкцию ИМЕЩЮЩИЕ
|
|||
8
SH_tan
29.05.14
✎
17:18
|
(4) после ЦеныКомпании КАК ЦеныКомпании
если поставить условие ГДЕ ...<> 0 другие пустые |
|||
9
Fragster
гуру
29.05.14
✎
17:18
|
а к запросу (1) надо не ГДЕ, а ИМЕЮЩИЕ, ну, или обернуть группировку во вложенный запрос
|
|||
10
SH_tan
29.05.14
✎
17:18
|
(6) на всякий случай,баловался
|
|||
11
shuhard
29.05.14
✎
17:19
|
(1) мой запрос был совсем другим
|
|||
12
Fragster
гуру
29.05.14
✎
17:20
|
(11) кстати по скорости этот вариант весьма неплох. ну разве что надо получить только по остаткам - тогда не совсем правильно
|
|||
13
Злобный монстр
29.05.14
✎
17:21
|
(7) +1
(11) +1 |
|||
14
Александр Б
29.05.14
✎
17:23
|
(12) а он наверное это и делает, пытается оставить только те строки, которые остаток > 0
|
|||
15
Злобный монстр
29.05.14
✎
17:24
|
(14) Вроде пишет "условие например цена больше 0"
|
|||
16
SH_tan
29.05.14
✎
17:25
|
(14) угу
|
|||
17
Злобный монстр
29.05.14
✎
17:28
|
(14) Я бы тогда получил остатки сначала, а цены потом присоединил.
|
|||
18
Злобный монстр
29.05.14
✎
17:29
|
(17) + Цены по колонкам можно через ВЫБОР поделить сразу.
|
|||
19
SH_tan
29.05.14
✎
17:29
|
и все заработало СПАСИБО ВСЕМ!!!
|
|||
20
SH_tan
29.05.14
✎
17:31
|
(18)оставил все как есть только Имеющие добавил
|
|||
21
Злобный монстр
29.05.14
✎
17:34
|
(20) Угу, я просто к тому что по-другому бы делал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |