这个问题与我之前的问题有关:
我有以下 2 个表:
我已经有这个查询更新了 Table1 中的 ID,其中只找到了最新的日期。但是,是否可以根据日期将 Table1 上的适当 ID 与 Table2 上的适当 ID 匹配。
请在下面查看我的查询:
Update Dairy
SET DY_H_ID = (
SELECT MAX(ID)
FROM History
WHERE H_DateTime <= DY_Date
AND H_IDX = DY_IDX
AND H_HA_ID = 7
AND H_HSA_ID = 19
AND H_Description LIKE 'Diary item added for :%'
)
WHERE DY_H_ID IS NULL
AND DY_IDX IS NOT NULL
AND DY_Date = (SELECT MAX(DY_Date) FROM Dairy)
我想做这样的事情来匹配其余的,但这不起作用:
AND SUBSTRING(CAST(DY_Date AS varchar(11)), 1, 10) = (SELECT SUBSTRING(CAST(H_DateTime AS varchar(11)), 1, 10) FROM History)
例如,表 1 中的 ID 10029 应该从历史记录中获取 ID 3205。ID 10030 应该得到 ID 3206,ID 10031 应该得到 ID 3207,ID 10032 应该得到 3208 等等。
请注意,两个表中的值都会发生变化。