|
楼主 |
发表于 2010-6-10 11:53:41
|
显示全部楼层
我按楼上的语句,改成了如下,但运行时提示第一行有错误?
DECLARE @cust_nm VARCHAR(20)
DECLARE @sql VARCHAR(2000)
SET @sql = 'SELECT cinventory '
DECLARE c11 CURSOR FOR
SELECT DISTINCT cvencode FROM po_pomain ORDER BY cvencode
OPEN c11
FETCH NEXT FROM C11 INTO
@cust_nm
IF @@FETCH_STATUS<>0
BEGIN
DEALLOCATE c11
RAISERROR('没有记录',16,-1)
RETURN
END
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @sql = @sql+',SUM(CASE WHEN cinvcode='+CHAR(39)+@cust_nm+CHAR(39) +'THEN iunitprice ELSE 0)'
FETCH NEXT FROM C11 INTO
@cust_nm
END
DEALLOCATE C11
SET @sql = @sql+' from po_podetails group by cinvcode,cvencode'
exec (@sql) |
|