0
pofigos
07.08.12
✎
18:07
|
Всех приветствую. Прошу помощи в создании запроса.
Есть такой запрос:
SELECT NullIf(Cast(Left(Реализация.DATE_TIME_IDDOC, 8) AS datetime), '17530101') Документ_дата
, Реализация.IDDOCDEF [Документ_вид $ВидДокументаПредставление]
, $Реализация.Накладная [Накладная $Справочник.Документы]
, $Реализация.Товар [Товар $Справочник.ВидыТоваров]
, $Реализация.Признак [Признак $Справочник.ТипыОпераций]
, Sum($Реализация.Количество) СуммаКоличество
FROM $Регистр.Реализация AS Реализация With (NOLOCK)
WHERE (Cast(Left(Реализация.DATE_TIME_IDDOC, 8) AS datetime) >= :НачДата)
AND (Cast(Left(Реализация.DATE_TIME_IDDOC, 8) AS datetime) <= :КонДата)
AND ($Реализация.Товар IN (SELECT Val FROM #ГруппаТов))
GROUP BY Реализация.IDDOCDEF
, Cast(Left(Реализация.DATE_TIME_IDDOC, 8) AS datetime)
, $Реализация.Накладная
, $Реализация.Товар
, $Реализация.Признак
ORDER BY Cast(Left(Реализация.DATE_TIME_IDDOC, 8) AS datetime)
, $Реализация.Накладная
, $Реализация.Товар
, $Реализация.Признак
По регистру нет поля МОЛ, который указывается по документу. Каким образом можно напрямую в запросе установить выборку по этому полю? Помогите советом, примером и что лучше всего конечно, часть кода под этот запрос.. не могу понять что к чему :(
Если брать в общем, тыкните куда следуют (на будущее так сказать)
Спасибо.
|
|
3
pofigos
07.08.12
✎
18:45
|
(2) Забыл Вид документа определяю сразу в запросе, и на сколько понимаю, можно сразу передавать в условие при соединении, так?
|
|
4
ADirks
08.08.12
✎
07:50
|
Кстати, можно чуть по-другому (без coalesce). Часто так делаю, когда надо несколько реквизитов из нескольких видов документов получать.
left join (
select IDDoc, МОЛ from $Документ.Вид1
union all
select IDDoc, МОЛ from $Документ.Вид2
union all
select IDDoc, МОЛ from $Документ.ВидN
) Док on Док.IDDoc = Реализация.IDDoc
|
|