我需要一些帮助来更新我需要每天从一个主表中提取值的一些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个橙色,它们将被放入辅助表中的相应列中。我每天都需要这样做,当它完成时,它会将当前日期记录在辅助表的日期列中。
答案 0 :(得分:1)
听起来您希望INSERT
每天Secondary Table
新行到Status
Main Table
的所有Discovered
值的摘要? 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
是什么意思?
如果是这样,您需要:
{{1}}