|
1с++ ошибка: Null value is eliminated by an aggregate or other SET operation. | ☑ | ||
---|---|---|---|---|
0
dk
17.09.12
✎
15:47
|
Текст запроса см ниже
Текст ошибки: State 01003, native 8153, message [Microsoft][ODBC SQL Server Driver][SQL Server]Warning: Null value is eliminated by an aggregate or other SET operation. Что делать и кто виноват? ) Вываливается только на 1 клиенте, на остальных нормально выводит |
|||
1
dk
17.09.12
✎
15:48
|
текст запроса
|
|||
2
dk
17.09.12
✎
15:50
|
или хотя бы на какой кусок кода грешить
|
|||
3
zling
17.09.12
✎
15:54
|
хм, у тебя там левое соед. есть, значить может быть нулл. Попробуй поставить isnull(aaaaa,0)
|
|||
4
zling
17.09.12
✎
15:57
|
, isnull(ЗапрОбороты.Оборот,0) AS Оборот
, isnull(ЗапрОбороты.Оборот,0) - isnull(ЗапрОбороты.Стоимость,0) AS Кредит так попробуй |
|||
5
dk
17.09.12
✎
15:57
|
причем без into нормально отрабатывает - просто пустая выборка по этому клиенту
|
|||
6
zling
17.09.12
✎
16:00
|
INTO #Должники - это результат помещ-ся во врем.таблицу
|
|||
7
zling
17.09.12
✎
16:00
|
а это весь запрос?
|
|||
8
Ёпрст
17.09.12
✎
16:03
|
(0)
а нафига вот это ? , SUM(Влож.ПросроченоДн) ПросроченоДн при селекте вот этого , 0 ПросроченоДн ? И... вот это тоже зачет: INNER JOIN $Справочник.Контрагенты СпрКонтр ON РегВз.Клиент = СпрКонтр.ID INNER JOIN $Справочник.Контрагенты СпрКонтрОсн ON $СпрКонтр.ОсновнойКлиент = СпрКонтрОсн.ID нужны только клиентосы, у которых в ОсновнойКлиент - ссылка на самого себя ? |
|||
9
dk
17.09.12
✎
16:03
|
(4) спасибо, помогло
|
|||
10
dk
17.09.12
✎
16:05
|
(8)
SUM(Влож.ПросроченоДн) ПросроченоДн - тупо колонку надо - пофиг про иннеры мимо |
|||
11
zling
17.09.12
✎
16:07
|
а зачем выборка во врем. таблицу, правда? :)
|
|||
12
dk
17.09.12
✎
16:08
|
там дальше еще пару запросов ко временной идет - отчет по просрочке дебеторки
|
|||
13
Ёпрст
17.09.12
✎
16:08
|
(10) для колонки так и пиши.. а про иннер, не мимо, а вопрос был.
|
|||
14
Ёпрст
17.09.12
✎
16:09
|
там агрегатная сумма на 0 - зря, как
|
|||
15
dk
17.09.12
✎
16:11
|
(13) надо часть реквизитов дергать из текущей карточки, а часть из основной карточки - вот и 2 иннера
|
|||
16
Ёпрст
17.09.12
✎
16:21
|
(15) :)
как это ? У тебя отберутся только те сторки, в которых в реквизит ОсновнойКлиент ссылка на этот эе элемент справочника. И всё. |
|||
17
Ёпрст
17.09.12
✎
16:23
|
вот и спрашиваю - оно точно так и надо ?
|
|||
18
dk
18.09.12
✎
07:14
|
(16) неверно, внимательно смотри по каким полям какого справочника делаю соединение
|
|||
19
ЧеловекДуши
18.09.12
✎
08:10
|
(18) Ёпрст4 прав, запрос отберет по обороту не все данные :)
|
|||
20
ЧеловекДуши
18.09.12
✎
08:22
|
+(18) "Незнакомец", а может прще было бы воспользоваться упрощенной функцией для временной таблицы?
Зачем усложнять через селект? глСоздатьВременнуюТаблицу("#СписокРеализаций","Val char(9)"); //4 вид, 9 ИД ТекстЗапроса=" |Insert into #СписокРеализаций |Select Right($ПН.ДокОснование,9) as Val | From $Документ.Реализация AS ПН(NOLOCK) | INNER JOIN $ДокументСтроки.Реализация AS ПНстр(NOLOCK) ON ПНстр.IDDOC = ПН.IDDOC | INNER JOIN _1SJOURN AS Журнал(NOLOCK) ON (ПН.IDDOC = Журнал.IDDOC) And (Журнал.IDDOCDEF = "+Мета.ИДДокумента("Реализация")+") | LEFT OUTER JOIN $Справочник.Контрагенты AS Клиент(NOLOCK) ON $ПН.Контрагент = Клиент.ID | LEFT OUTER JOIN $Справочник.ЮрЛица AS ЮрЛица(NOLOCK) ON (Left($Клиент.ЮрФизЛицо,4) = '"+СтрИДклнт+"') | AND (Right($Клиент.ЮрФизЛицо,9) = ЮрЛица.ID) | Where ((Журнал.CLOSED & 1) = 1) | AND (Журнал.DATE_TIME_IDDOC >= :ВыбДатаНач) | AND (Журнал.DATE_TIME_IDDOC <= :ВыбДатаКон~) | AND $ПН.РеализацияОтменена = 0 | AND Left($ПН.ДокОснование,4) = '"+СтрИДзаяв+"' |
|||
21
Ёпрст
18.09.12
✎
09:21
|
(18) давно посмотрел.. вопрос в (17) в силе
|
|||
22
dk
18.09.12
✎
11:29
|
аа, вы оба не впиливаете )))
это ж не типовая, в самой карточке клиента всегда заполнено поле ОсновнойКлиент, либо ссылка на самого себя, либо ссылка на другую карточку контрагента. ---- ссылка оснклиент клиент1 Клиент2 Клиент2 Клиент2 --------------- Если есть движения по клиент1, то СпрКонтр.ID - Вернет Клиент1 СпрКонтрОсн.ID - Вернет Клиент2 ----- просто текст запроса динамически меняется - данный запрос вернет только основных контров. Это верно. Но данные соберутся по всем подчиненным. |
|||
23
Ёпрст
18.09.12
✎
11:31
|
(22) Какой наивный
|
|||
24
Ёпрст
18.09.12
✎
11:31
|
у тебя будут только строки, где
ссылка = оснКлиент и всё. |
|||
25
Ёпрст
18.09.12
✎
11:35
|
отсюда вопрос в (17)
|
|||
26
dk
18.09.12
✎
11:44
|
где эти строки будут-то в исходных или после всех группировок
Данные соберутся по всем подчиненным и сгруппируются по основному |
|||
27
Ёпрст
18.09.12
✎
12:33
|
(26) ё...
еще раз , после вот этого INNER JOIN $Справочник.Контрагенты СпрКонтр ON РегВз.Клиент = СпрКонтр.ID INNER JOIN $Справочник.Контрагенты СпрКонтрОсн ON $СпрКонтр.ОсновнойКлиент = СпрКонтрОсн.ID останутся только строки, где ОсновнойКлиент = ССылке на сам справочник. |
|||
28
Ёпрст
18.09.12
✎
12:36
|
+27 т.е если ты в #Кл положил следующих клиентосов:
ссылка оснклиент 1.Вася Вася 2.Вася Федя 3.Вася Марина 4.Федя Вася 5.Федя Федя 6.Федя Ваня и по ним были остатки, то после твоих иннеров, останутся только 1.Вася Вася 5.Федя Федя Оно точно так и надо ? |
|||
29
dk
18.09.12
✎
13:02
|
http://s014.radikal.ru/i327/1209/1b/d2249cd82ecd.jpg
продолжаем спор? )) |
|||
30
Ёпрст
18.09.12
✎
13:46
|
(29) где то ты меня наёпываешь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |