DECLARE@cmdTextVARCHAR(8000);DECLARE@tmpSqlVARCHAR(8000);SET@cmdText='SELECTStockType,'SELECT@cmdText=@cmdText+'CASEProNameWHEN'''+ProName+'''THENDefaultValueELSE0ENDAS''...
DECLARE @cmdText VARCHAR(8000);
DECLARE @tmpSql VARCHAR(8000);
SET @cmdText = 'SELECT StockType,'
SELECT @cmdText = @cmdText+' CASE ProName WHEN ''' + ProName + '''THEN DefaultValue ELSE 0 END AS ''' + ProName
+''',' FROM (SELECT DISTINCT ProName FROM ChargeItem) T
SET @cmdText = LEFT(@cmdText, LEN(@cmdText) -1)
SET @cmdText = @cmdText + ' FROM ChargeItem,StockType,ChargeItemParameters where ProNameID=ChargeItem.Fid
and StockTypeID=StockType.Fid '
SET @tmpSql ='SELECT StockType,'
SELECT @tmpSql = @tmpSql + ' ISNULL(SUM(' + ProName+ '), 0) AS ''' + ProName + ''',' FROM (SELECT DISTINCT ProName FROM ChargeItem ) T
SET @tmpSql = LEFT(@tmpSql, LEN(@tmpSql) -1) + ' FROM ('
SET @cmdText = @tmpSql + @cmdText + ') T Group by StockType order by StockType'
PRINT @cmdText
EXEC(@cmdText)
此段代码执行后,ProName是按其首字母顺序排序的
怎样让ProName的显示按照其数据库中的排序?
另 ProName存在于表ChargeItem中,其中存在主键Fid
急!谢谢
展开