select T5.WHSNAME [仓 库],M.U_JYLX [入库类型],m.itemcode [款 式],cast(p.u_DPJG as int) [吊牌价],m.COLORCODE [颜色]
,STUFF((SELECT SUBSTRING(T.BatchNum,4,2)=CAST(SUM(CASE WHEN SUBSTRING(S.BatchNum,4,2)=SUBSTRING(T.BatchNum,4,2)    THEN m.Quantity ELSE 0 END) AS INT)
FROM ibt1  T ORDER BY Code FOR XML PATH('')), 1, 1, '')
,cast(sum(m.quantity) as int) [总入库量]
from (SELECT tt.DocDate,tt.DocEntry, tt.DocNum, tt.Comments,d.ItemCode,d.Quantity,left(T4.[BatchNum],3) AS COLORCODE
, SUBSTRING(T4.[BatchNum],4,2) AS SIZECODE, d.WhsCode, tt.U_DJLX,tt.U_JYLX, d.LineTotal,D.ObjType,D.LineNum
 FROM   dbo.OIGN AS tt 
INNER JOIN dbo.IGN1 AS d ON tt.DocEntry = d.DocEntry AND tt.CurSource = 'C'
inner join ibt1 T4 ON T4.BaseType = D.ObjType AND D.DocEntry=T4.BaseEntry AND D.LineNum=t4.BaseLinNum) M left join ibt1 s  ON S.BaseType = M.ObjType AND M.DocEntry=S.BaseEntry AND M.LineNum=S.BaseLinNum
left join OITM p on p.ITEMCODE=m.itemcode  
inner join owhs t5 on M.whscode = t5.whscodewhere 1=1  and m.whscode <> 'JZZK01' 
group by T5.WHSNAME,M.U_JYLX,m.itemcode,p.u_DPJG,M.COLORCODE运行提示:
消息 102,级别 15,状态 1,第 2 行
'=' 附近有语法错误。
消息 102,级别 15,状态 1,第 12 行
'M' 附近有语法错误。不知道有什么问题?
原来客户的erp系统不用了,是另一家公司实施的,现在二期是我们实施,所以很多配置都不一样。他们希望原来系统存在的报表在行系统上也有。同样的软件。
下面是原来的报表
CREATE   PROCEDURE [dbo].[Xmrm_SCB_sumbydate] 
@whscode varchar(40),@owhscode varchar(40),@fromdate datetime,@todate datetime,@docentry varchar(16), @itemCode varchar(16)
AS
--生成动态二维颜色尺码
DECLARE @s1 nvarchar(4000),@s2 nvarchar(4000)
IF (isnull(@fromdate,'')='' )
  set @fromdate=CONVERT(char(10),getdate(),121)
IF (isnull(@todate,'')='' )
  set @todate=CONVERT(char(10),getdate(),121)
SET @s1='select d.itemcode 款式,cast(p.u_price as int) 吊牌价,d.u_colrcode+''`'' 颜色'SELECT @S1 = @S1 + STUFF((SELECT ',['+Name+']=CAST(SUM(CASE WHEN s.Name='''+Name+''' THEN d.Quantity ELSE 0 END ) AS INT)'
FROM [@UN_SIZE] ORDER BY Code FOR XML PATH('')), 1, 0, '');SET @S1=@S1+',cast(sum(d.quantity) as int) 合计 from [owtr] m inner join [wtr1] d on d.docentry=m.docentry'
SET @S1=@S1+'                        inner join [@un_size] s on s.code=d.u_sizecode  '
SET @S1=@S1+'                        inner join [@un_assi] p on p.u_pattcode=d.itemcode  '
SET @S1=@S1+' where 1=1 '
IF (isnull(@fromdate,'')<>'' and isnull(@todate,'')<>'')
  SET @S1=@S1+'and m.docdate>='''+CONVERT(char(10),@fromdate,121)+''' and m.docdate<='''+CONVERT(char(10),@todate,121)+''''
IF isnull(@whscode,'')<>''
  SET @S1=@S1+'and m.filler like '''+@whscode+'%'''IF isnull(@itemcode,'')<>''
  --SET @S1=@S1+'and d.itemcode like '''+@itemcode+'%'''
  SET @S1=@S1+' and ( d.itemcode like ''%'+@itemcode+'%'' or cast(cast(p.U_Price as int) as char(8))= '''+@itemcode+''' ) '
IF isnull(@owhscode,'')<>''
  SET @S1=@S1+'and d.whscode like '''+@owhscode+'%'''
SET @S1=@S1+' group by d.itemcode,cast(p.u_price as int),d.u_colrcode'
--print @s1
EXEC (@s1)