需要t-sql語句語法錯誤的幫助。按照以下完整陳述。 SQL服務器2005年t-sql語句語法錯誤
-- 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
發現迄今在 使用SQLCMD。
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]
這部分的語句給出了以下錯誤。 Msg 102,Level 15,State 1,Server,Line 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是oitm和oitb之間的fk,並且名稱相同。 (並不總是這種情況在SAP的土地!)
對於那些有興趣這是我的嘗試圍繞SAP B1設計缺陷的oitm(訂購商品) oitg(項目屬性)沒有相交表地獄。
選擇克。[ItmsGrpNam],B [ItmsGrpNam],計數(1) 從oitg克 加入(選擇不同 i.ItmsGrpCod爲[ItmsGrpCod], i.QryGroup1爲[QryGroup1], i.QryGroup2如[qryGroup2] from oitm i)p - oitg-oitm鏈接的僞相交表 [QryGroup1] ='Y') ) 將b上的oitb b加入[ItmsGrpCod] = p。[ItmsGrpCod] group by g.ItmsGrpNam,b.ItmsGrpNam –
Doh!尚未編輯好。擊中回報並保存。無論如何,是將where子句作爲on子句移動並運行。來自MySQL背景,並確信我可以擁有任何方式。無論如何,非常感謝。 –