【发布时间】:2020-11-08 23:27:09
【问题描述】:
我有一个表名Tankdet,它有两列TCO 和Tanks。
这里是返回租用、自有和主要储罐数量的存储过程代码:
ALTER PROCEDURE [dbo].[sp_Dash_LeaseInformation]
AS
BEGIN
DECLARE @leased INT
DECLARE @owned INT
DECLARE @principal INT
SET NOCOUNT ON
SET @owned = (SELECT COUNT(*) FROM Tankdet WHERE ownleasetank='owned')
SET @leased = (SELECT COUNT(*) FROM Tankdet WHERE ownleasetank='leased')
SET @principal = (SELECT COUNT(*) FROM Tankdet WHERE ownleasetank='principle')
SELECT [Leased]=@leased,[Owned]=@owned,[Principal]=@principal
SET NOCOUNT OFF
END
表格是这样的
它会返回类似的值,
leased = 4,owned = 4,principle = 7
用于在我的前端显示坦克数量的值。
问题是在这里我显示了主要坦克的全部数量并将其返回到我的前端。
现在我在创建数组时遇到了问题,将 Principle Tank 计数作为每个 TCO 的单独计数,我必须将其返回为:
SELECT [Leased]=@leased, [Owned]=@owned, [vibe]=@vibe, [baru]=@baru,[sarath]=@sarath, [karthi]=@karthi, [nth...]=@nth.....
nth 是因为将来可能会出于目的添加 TCO 值,而 selected 值必须返回如下:
租用=4,拥有=4,vibe=2,baru=3,sarath=1,karthi=1,nth= n......,
【问题讨论】:
-
看起来你真正想要的是一个动态支点。
-
旁注,
sp_前缀由 Microsoft 保留,表示S特殊P过程。它不应用作用户对象的前缀。 Is the sp_ prefix still a no-no? -
我还删除了 oracle 标签,因为这显然是 SQL Server(由于
dbo架构)。请不要在提问时随机标记其他 RDBMS。 -
@Larnu 是的,我正在寻找动态支点你有什么例子可以解决这个问题
-
这个网站上确实有 100 个:Dynamic Pivot SQL Server
标签: sql .net sql-server stored-procedures