我有2個表需要加入並選擇唯一的行。這裏是我的數據樣本:(有更多列)無法獲得連接兩個表的唯一值
tbl1:
MB# MBName PCCNo_PRI Primary_IP PCCNo_SEC Secondary_IP ID
100 name 0 10.1.9.10 30 10.1.9.10 1
103 name3 17 10.1.9.27 47 10.1.9.67 4
403 name13 17 10.1.9.27 47 10.1.9.67 14
TBL2:
RTU PCC#_PRI PCC#_SEC STATION ADDRESS
15 0 30 6
52 12 42 1
53* 17 47 1
54 18 48 1
63 9 39 2
69* 17 47 2
我需要連接兩個表,並獲得獨特的RTU(收費)tbl2的一個給定MB#在tbl1。 查詢=
SELECT t1.MB#,t2.RTU,t2.[Device Manufacturer],t2.PCC#_PRI,t2.PCC#_SEC,t2.[STATION ADDRESS]
INTO C300_RTU_MASTERBLK_Map
FROM mbm_PCDIMasterBlk_tbl as t1, dbo.WOA_PCC_Conn_tbl as t2
WHERE t1.PCCNo_PRI = t2.PCC#_PRI
我的tbl2的53和69(*以上)越來越重複的行。 53最後有2個條目;一到103和一個403(69得到相同)。我如何查詢這個獨特的RTU到MB#?
你可以發佈你的結果應該是什麼?你如何決定你需要哪一行。對於前pccNo_pri = 17,哪一個你需要53或69?什麼是邏輯? – Kaf 2012-03-09 16:06:36
如果您想要「RTU」和「MB#」的完整組合,那麼結果是正確的。你的結果將是('RTU','PCCNo_PRI','MB#'):(53,17,103),(53,17,403),(69,17,103),(69,17,403) 。由於您的數據清楚地包含了相同的RTU適用於多個MB#的組合,因此您的實際問題是什麼以及如何識別哪些行是「錯誤的」? – 2012-03-09 16:29:18
好問題。我認爲你已經暴露了我的問題。我知道它應該是什麼,但直到你們指出它的時候才能看到我的缺陷。讓我看看我是否可以重做這些表格之一。 – cjjeeper 2012-03-09 16:33:06