我需要一些帮助来更新一些每天需要从一个主表中提取值的 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 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
关于sql - 每天使用另一个表中的值更新 sql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20639960/