我有兩個不同的數據庫SQL查詢始終運行 - SQL Server 2008中
Database1 - Table1
Database2 - Table2
Table1 Columns: NimID,IDDate,Station
Table2 Columns: XilID,XilDate
Table1 Table2
NimID IDDate Station XilID XilDate
234 2011-04-21 HYD 234 2011-04-21
237 2011-04-21 CHN 208 2011-04-21
208 2011-04-21 HYD 209 2011-04-15
209 2011-04-15 DEL 218 2011-05-28
212 2011-03-11
我想了解有多少的ID在表1表2中,其中IDDate = XilDate ='不是兩個表2011-04- 21'組由Table1.Station組成。 我做了以下
select x.Station as Station,
count(distinct x.NimID) as Difference
from (
select a.NimID,
a.IDDate,
a.Station
from database1.dbo.table1 a
where left(cast(a.Date as date),11)='2011-04-21'
) as X, (
select b.XilID,
b.XILDate
from database2.dbo.Table2 b
where b.XilDate='2011-04-21'
) as Y
where x.NimID not in (y.XilID)
group by x.Station
查詢,但此查詢將永遠運行下去.. 請記住表是從位於同一臺服務器上不同的數據庫和表1中包含10,000,000記錄和表2包含約1300萬條記錄 請糾正我的查詢,如果錯誤或建議我更快的方式
感謝
了不起的人......非常感謝.. 。我一直討厭使用連接..現在連接幫助我成千上萬的數據.. :) – ARB 2011-06-17 07:58:24
@ARB:那麼對你有好處。看起來非常像你現在會更恨他們。 :)請看我的更新,我試圖重寫解決方案,使其更簡單。 – 2011-06-17 08:22:28
嗯..謝謝。 。:)。今晚會去參加學習。 。 :) – ARB 2011-06-17 09:07:19