Нужна помощь с ошибкой синтаксиса оператора t-sql.Полное заявление согласно ниже.Использование sqlcmd на sql-server 2005.
-- oitm to oitg is a 1 to 1 link via the 64 matching columns
select g.[ItmsGrpNam], b.[ItmsGrpNam], count(1)
from oitg g
join (select distinct
i.ItmsGrpCod as [ItmsGrpCod],
i.QryGroup1 as [QryGroup1],
i.QryGroup2 as [QryGroup2]
from oitm i) p -- pseudo intersect table for oitg-oitm links
join oitb b on b.[ItmsGrpCod] = p.[ItmsGrpCod]
where (g.ItmsGrpNam in -- translate interect to oitg names
(select x.ItmsGrpNam from oitg x where x.ItmsTypCod=1 and p.[QryGroup1]='Y')
)
group by g.ItmsGrpNam, b.ItmsGrpNam
Выводы на данный момент.
select g.[ItmsGrpNam], b.[ItmsGrpNam], count(1)
from oitg g
join (select distinct
i.ItmsGrpCod as [ItmsGrpCod],
i.QryGroup1 as [QryGroup1],
i.QryGroup2 as [QryGroup2]
from oitm i) p -- pseudo intersect table for oitg-oitm links
join oitb b on b.[ItmsGrpCod] = p.[ItmsGrpCod]
В этой части оператора выдается следующая ошибка.Сообщение 102, Уровень 15, Состояние 1, Сервер, Строка 10 Неверный синтаксис рядом с 'ItmsGrpCod'.
И выбор в приведенном выше утверждении возвращается, как и должно.
3> select distinct
4> i.ItmsGrpCod as [ItmsGrpCod],
5> i.QryGroup1 as [QryGroup1],
6> i.QryGroup2 as [QryGroup2]
7> from oitm i
8> go
ItmsGrpCod QryGroup1 QryGroup2
---------- --------- ---------
100 N N
101 N Y
102 N Y
103 N Y
104 N Y
105 N Y
106 N Y
107 N N
108 N N
108 Y N
110 N Y
111 N N
112 N Y
113 N N
Попытка замены«присоединиться» с «внутренним соединением».Начали заключать названия столбцов в квадратные скобки.ItmsGrpCod - это fk между oitm и oitb и одно и то же имя.(не всегда так в SAP Land!)
Для тех, кто интересуется, это моя попытка кодирования вокруг недостатка проекта SAP B1 для oitm (элементы заказа), чтобы oitg (свойства элемента) не пересекались с таблицей.