我想從其他表的日期引數中獲取資料,并將其用于該表。
而Table_B是這樣的:
從表A和表B中,我想用來自Table_A.last_job_update和GETDATE()的最后日期之間的引數插入表_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關閉。
uj5u.com熱心網友回復:
對不起。我不太明白你想要什么。PF_HKMN_TEST_TABLE是什么表? 我試著猜測一下你想要什么。
WITH cteTestA
AS (SELECT product_id,
last_job_update,
ROW_NUMBER() OVER(PARTITION BY product_id
ORDER BY Last_job_update DESC) AS rn
FROM Table_A)
INSERT INTO table_C
(product_id,
product_name,
狀態。
最后更新
)
SELECT b.roduct_id,
b.product_name,
b.STATUS。
b.last_update
FROM Table_B AS b
INNER JOIN cteTestB AS ctea
ON ctea.product_id = b.product_id
AND b.rn = 1
WHERE b.last_update BETWEEN ctea.last_job_update AND GETDATE()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/314819.html
標籤:


