小编Ric*_*ard的帖子

如何在PIVOT SQL查询之间添加日期过滤器

我已经存储了记录类型和日期的数据.我想得到每个日期的每种类型的总数.我有一个具有以下模式的表:

Id |   Type   |      Date_and_Time      |
----------------------------------------
1  |   Bags   | 2019-01-01 17:39:34.620 |
2  |   Shoes  | 2019-01-02 17:39:34.620 |
3  |   Shoes  | 2019-01-02 17:39:34.620 |
4  |   Bags   | 2019-01-02 17:39:34.620 | 
5  |  Shirts  | 2019-01-02 17:39:34.620 |
6  |  Shirts  | 2019-01-03 17:39:34.620 |
7  |  Shirts  | 2019-01-03 17:39:34.620 |  
...
Run Code Online (Sandbox Code Playgroud)

我有PIVOT查询但没有日期过滤器:

DECLARE @cols NVARCHAR(max) = Stuff((SELECT DISTINCT ', ' + Quotename(Type) 
             FROM   #Tempsa
             FOR xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, NULL);

EXECUTE('SELECT …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

6
推荐指数
1
解决办法
110
查看次数

如何获取我的批处理更新SQL Server的ID

如何在批量更新中获取受影响的行的ID?当我试图在表tbl.history上插入所有更新/事务时。

下面是我的示例表:

table tbl.myTable
+------+-----------+------------+
|  ID  |   Amount  |    Date    |
+------+-----------+------------+
|  1   |    100    | 01/01/2019 |
+------+-----------+------------+
|  2   |    200    | 01/02/2019 |
+------+-----------+------------+  
|  3   |    500    | 01/01/2019 |
+------+-----------+------------+  
|  5   |    500    | 01/05/2019 |
+------+-----------+------------+   
Run Code Online (Sandbox Code Playgroud)

这是我的批量更新查询:

Update tbl.myTable set Amount = 0 where Date = '01/01/2019'
Run Code Online (Sandbox Code Playgroud)

通过查询,它将更新/影响ID为1和3的两个数据。如何获取那些ID以将其插入到另一个表中(tbl.history)?

sql sql-server

1
推荐指数
1
解决办法
123
查看次数

标签 统计

sql ×2

sql-server ×2

t-sql ×1