sql - 每天使用另一个表中的值更新 sql 表

标签 sql .net

我需要一些帮助来更新一些每天需要从一个主表中提取值的 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

以下是我将使用的两个表的一些示例:

主表

enter image description here

辅助表

enter image description here

所以基本上我需要以下方面的帮助:辅助表需要计算“状态”列中的绿色、红色、橙色和黄色,并将它们放入指定的列中。因此,如果有 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/

相关文章:

sql - 程序时间执行计数器

.net - 样式表加载问题

c# - Fluent NHibernate 自动映射基类覆盖

c# - Redis 缓存实现 - c#

ASP.NET MVC - 将外部模型传递给编辑器模板

sql - 允许角色查询、插入和更新可变数组

mysql - 如何对 mysql 中的串联结果进行 group_concat

sql - 选择大于特定日期的列

java - Java 和 .Net 的图表库

mysql - SQL Join多个外来ID