如何使用SELECT

时间:2019-01-18 10:03:03

标签: sql sql-server tsql

我有一个名为Action的表,我想向其中添加新的列。

我要添加的列是此查询的结果:

SELECT DATE_AFFECTATION  ,
       SUM(CASE WHEN STATUT_Ticket = 'Clôturé' THEN 1 ELSE 0 END) AS TotalCloturé,
       SUM(CASE WHEN STATUT_Ticket = 'En cours' THEN 1 ELSE 0 END) AS TotalEncours,
       SUM(CASE WHEN STATUT_Ticket = 'Gelé' THEN 1 ELSE 0 END) AS TotalGelé,
       SUM(CASE WHEN STATUT_Ticket = 'Hors délai' THEN 1 ELSE 0 END) AS TotalHorsdélai,
       SUM(CASE WHEN STATUT_Ticket = 'Nouveau' THEN 1 ELSE 0 END) AS TotalNouveau,
       SUM(Sum(CASE WHEN STATUT_Ticket = 'Clôturé' THEN 1 ELSE 0 END)) Over (ORDER BY DATE_AFFECTATION) AS cumTotalCloturé,
       SUM(Sum(CASE WHEN STATUT_Ticket = 'En cours' THEN 1 ELSE 0 END)) Over (ORDER BY DATE_AFFECTATION) AS cumTotalEncours,
       SUM(Sum(CASE WHEN STATUT_Ticket = 'Gelé' THEN 1 ELSE 0 END)) Over (ORDER BY DATE_AFFECTATION) AS cumTotalGelé,
       SUM(Sum(CASE WHEN STATUT_Ticket = 'Hors délai' THEN 1 ELSE 0 END)) Over (ORDER BY DATE_AFFECTATION) AS cumTotalHorsdélai,
       SUM(Sum(CASE WHEN STATUT_Ticket = 'Nouveau' THEN 1 ELSE 0 END)) Over (ORDER BY DATE_AFFECTATION) AS cumTotalNouveau
FROM DIM_Ticket
GROUP BY DATE_AFFECTATION
ORDER BY DATE_AFFECTATION

这可能吗?

2 个答案:

答案 0 :(得分:0)

这个评论太长了。

如果要向现有表中添加列,则语法为alter table。例如:

alter table add column TotalCloturé int;

默认值为NULL,或者您可以提供恒定的默认值(在这种情况下,例如0)。

您不会在查询中添加列。

因此,您的问题还不清楚。您是否只是在尝试为现有列分配值?除了原始表中的列之外,您是否只想要包含这些列值的结果集?您是否需要触发器(或其他某种机制),以使值保持同步?

答案 1 :(得分:0)

您的查询返回了不止一列。
您无法添加列并将其填充到单个查询中。