我需要一些更新我的sql表的帮助,这些sql表每天需要从一个主表中提取值。
我的主表包括状态,描述和每天更新的日期。我还有3个其他表,需要根据其状态ID号从该主表中提取值。例如,如果它是Type1,则它将获取该类型的红色,绿色,黄色和当前日期的数量,并且它需要每天进行此操作。
经过研究后,我发现我需要执行以下操作:
Update [TableA]
SET Date (select Date from [TableB] where [TableB].Date = [TableA].DateDiscovered and [TableB].Date IS NOT NULL) --not sure if this is write, this is just what I found online
这是我将要使用的两个表的一些示例:
主表
二级表
因此,基本上,我需要以下方面的帮助:辅助表将需要计算“状态”列中的绿色,红色,橙色和黄色,并将它们放入指定的列中。因此,如果有4个绿色,2个红色,1个黄色和2个橙色,它们将被放置在辅助表的相应列中。我每天都需要这样做,当完成后,它将在辅助表的日期列中记录当前日期。
听起来您想每天都在INSERT
新的一行Secondary Table
中显示所有Status
值的摘要Main Table
?的RegarlessDiscovered
或Escalated
在Main Table
?
如果是这样,您需要:
INSERT INTO SecondaryTable
SELECT CAST(GetDate() as Date),
SUM(CASE WHEN Status = 'R' THEN 1 ELSE 0 END) as Red,
SUM(CASE WHEN Status = 'O' THEN 1 ELSE 0 END) as Orange,
SUM(CASE WHEN Status = 'Y' THEN 1 ELSE 0 END) as Yellow,
SUM(CASE WHEN Status = 'G' THEN 1 ELSE 0 END) as Green
FROM MainTable
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句