【发布时间】:2021-07-23 10:17:03
【问题描述】:
我想从其他表的日期参数中获取数据,并在表上使用。
例如,我有一个如下所示的 Table_A:
Table_B 是这样的:
从表 A 和 B 中,我想用来自 Table_A.last_job_update 和 GETDATE() 的最后日期之间的参数插入来自 Table_B 的数据,并将其插入到 Table_C。
这是我的 SQL 语句:
SET IDENTITY_INSERT test.Table_A ON
INSERT INTO test.table_A (product_id, product_name, status, last_update)
SELECT product_id, product_name, status, last_update
FROM test.Table_B
WHERE last_update = (SELECT MAX(last_update)
FROM test.PF_HKMN_TEST_TABLE
WHERE Table_B.product_name = Table_B.product_name)
SET IDENTITY_INSERT test.table_A OFF;
从我上面的 SQL 语句中只能得到具体的日期,而不是从日期到当前日期的范围。
解决方案
table_A:来源
table_B : 日期参数
table_C : 目的地
DECLARE @Date DATETIME
SET @Date = GETDATE()
SET IDENTITY_INSERT test.table_C ON;
INSERT INTO test.table_C (product_id, product_name, status, last_update)
SELECT product_id, product_name, status, last_update
FROM test.table_A
WHERE last_update BETWEEN (select max(last_job_update) FROM test.table_B) and Date;
SET IDENTITY_INSERT test.table_C OFF;
【问题讨论】:
-
您的预期输出是什么?我不明白
only can get the specific date, not range date to currentdate是什么意思。而且我没有看到参数
标签: sql sql-server date sql-server-2008