|
v7: Прямой запрос не пашет как надо |
☑ |
0
Absurdus
03.09.14
✎
13:35
|
|SELECT
| M.CODE as CODE,
| M.DESCR as DESCR,
| cast(SUM(RG405.SP411) AS decimal(15, 0)) AS OSTATOK
|FROM dbo.SC84 M (nolock)
| LEFT OUTER JOIN dbo.RG405 AS RG405 (nolock) ON (M.ID=RG405.SP408)
|WHERE
| M.IsFolder = 2 AND
| RG405.PERIOD = (SELECT dateadd(dd, 1 - day(MAX(s.curdate)), MAX(s.curdate)) FROM dbo._1SSYSTEM AS s)";
Надо получить номенклатуру и ее остатки (включая нулевые). Но вот выходит почему-то только та номенклатура, которая есть на остатках.
В чем ошибка?
|
|
1
VladZ
03.09.14
✎
13:41
|
в алгоритме
|
|
2
VladZ
03.09.14
✎
13:42
|
SUM(RG405.SP411) - получить данные по остаткам... А где алгоритм, который отвечает за " (включая нулевые)" ?
|
|
3
Chai Nic
03.09.14
✎
13:43
|
В чем кайф не использовать метаподстановки?
|
|
4
VladZ
03.09.14
✎
13:44
|
(3) Садомазо. Будь толерантнее! ;)
|
|
5
КонецЦикла
03.09.14
✎
13:44
|
Запрос делать к справочнику, левым соединением остатки (как вариант)
|
|
6
ADirks
03.09.14
✎
14:15
|
|SELECT
| M.CODE as CODE,
| M.DESCR as DESCR,
| Round( SUM( IsNull(RG405.SP411, 0.00), 0) OSTATOK
|FROM dbo.SC84 M (nolock)
| LEFT OUTER JOIN dbo.RG405 AS RG405 (nolock) ON
| M.ID=RG405.SP408
| and RG405.PERIOD = (SELECT dateadd(dd, 1 - day(MAX(s.curdate)), MAX(s.curdate)) FROM dbo._1SSYSTEM AS s)
|WHERE
| M.IsFolder = 2 AND
|
|
|