我有兩個表在差不多更新完全相同的時間 - 我需要加入的日期時間列。SQL - 如何加入類似的(不是確切的)列
我已經試過這樣:
SELECT *
FROM A, B
WHERE ABS(DATEDIFF(second, A.Date_Time, B.Date_Time)) = (
SELECT MIN(ABS(DATEDIFF(second, A.Date_Time, B2.Date_Time)))
FROM B AS B2
)
但它告訴我:
多個列中包含外部引用的被聚合表達式中指定。如果要彙總的表達式包含外部引用,那麼該外部引用必須是表達式中引用的唯一列。
我該如何加入這些表格?
你能解釋一下這段代碼的工作原理嗎?我從來沒有見過很多這樣的構造。 – 2010-05-11 21:36:20
@BlueRaja - 我已經擴展了我的答案以提供更多細節。 – Thomas 2010-05-11 23:14:19
我最終在查詢中用'TOP 1 ... ORDER BY Date_Time'取代了'MIN',但是這個答案教會了我一些新的東西,並且幫助我解決了一個相關的問題(找到了一個特定列更改的行尊重上一行,按日期排序)。謝謝! – 2010-05-12 13:42:01