Запрос: SELECT Рег.Докум [Док $Документ] ,Рег.Докум_вид Док_вид ,Рег.Фирма [Фирма $Справочник.Фирмы] ,Рег.Позиция Позиция ,Рег.ДатаДок ДатаДок ,Рег.НомерДок НомерДок ,Рег.Товар [Авто $Справочник.Номенклатура] ,Рег.Сумма Сумма ,Рег.Кол Кол ,CASE WHEN Рег.Пок=1 THEN Рег.Сумма ELSE 0 END Поступление ,CASE WHEN Рег.Пок=1 THEN 0 ELSE Рег.Сумма END Продажа
FROM ( SELECT Жур.IDDOC Докум , Жур.IDDOCDEF Докум_вид , Док.sp1005 Фирма , Жур.DATE_TIME_IDDOC as Позиция , CAST(LEFT(Жур.DATE_TIME_IDDOC, 8) as DateTime) as ДатаДок , Жур.DOCNO НомерДок , Номенклатура.ID Товар , ДокСтроки.sp428 Сумма , 1 as Пок , ДокСтроки.sp424 Кол FROM _1SJOURN AS Жур INNER JOIN dh434 AS Док ON Жур.IDDOC = Док.IDDOC INNER JOIN dt434 AS ДокСтроки ON Жур.IDDOC = ДокСтроки.IDDOC INNER JOIN sc33 AS Номенклатура ON ДокСтроки.sp423 = Номенклатура.ID WHERE (Жур.DATE_TIME_IDDOC BETWEEN '20071201' AND '20071231Z') AND ((Жур.CLOSED & 1) = 1) UNION ALL SELECT Жур.IDDOC Докум , Жур.IDDOCDEF Докум_вид , Док.sp1005 Фирма , Жур.DATE_TIME_IDDOC as Позиция , CAST(LEFT(Жур.DATE_TIME_IDDOC, 8) as DateTime) as ДатаДок , Жур.DOCNO НомерДок , Номенклатура.ID Товар , ДокСтроки.sp428 Сумма , 0 as Пок , ДокСтроки.sp424 Кол FROM _1SJOURN AS Жур INNER JOIN dh410 AS Док ON Жур.IDDOC = Док.IDDOC INNER JOIN dt410 AS ДокСтроки ON Жур.IDDOC = ДокСтроки.IDDOC INNER JOIN sc33 AS Номенклатура ON ДокСтроки.sp423 = Номенклатура.ID WHERE (Жур.DATE_TIME_IDDOC BETWEEN '20071201' AND '20071231Z') AND ((Жур.CLOSED & 1) = 1) ) Рег Выдает:
{D:\BASE77NEW\АНАЛИЗПРОДАЖАВТО.ERT(88)}: State 42S22, native 207, message [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'sp428'. По отдельности подзапросы отрабатывают, поле sp428 - сумма табличной части, присутствует в обоих документах и одинаковой длины и точности. Что это может быть?
|