我有3個表從我減法數據,並獲得大部分的數據我有一個查詢的工作很好,但我不能得到一個特定的行,這就是我需要的地方一些幫助。有助於更好地理解聯接
表1:
EquipmentID | EquipmentName | EquipmentTypeID
15 | Tesla | 68
16 | Colombus | 93
表2:
EquipmentTypeID | DisplayName |
68 | Electrical Device|
93 | GPS Device |
表3:
EquipmentID | IPAddress |
15 | 192.168.1.1|
16 | 192.168.0.1|
到目前爲止,我得到的是使用如下因素SQL語法如下數據:
SELECT DISTINCT t1.IPAddress,
t2.EquipmentID
FROM Table3 t1
JOIN Table1 t2 ON t1.EquipmentID = t2.EquipmentID
WHERE IPAddress LIKE '%192%'
結果我得到的樣子
IPAddress | EquipmentID |
192.168.1.1| 15 |
192.168.0.1| 16 |
但是當我做了JOIN像followiing那麼結果只是搞砸
SELECT DISTINCT t1.IPAddress,
t2.EquipmentID,
t3.EquipmentTypeID,
t4.DisplayName
FROM Table3 t1
JOIN Table1 t2 ON t2.EquipmentID = t1.EquipmentID
JOIN Table2 t3 ON t3.EquipmentTypeID = t1.EquipmentTypeID
JOIN Table2 t4 ON t3.EquipmentTypeID = t1.EquipmentTypeID
WHERE IPAddress LIKE '%192'
但現在的結果我得到的是以下幾點:
IPAddress | EquipmentID |EquipmentTypeID| DisplayName |
192.168.1.1| 15 |68 | ElectricalDevice|
192.168.1.1| 15 |93 | GPS Device |
192.168.0.1| 16 |68 | ElectricalDevice|
192.168.0.1| 16 |93 | GPS Device |
有關如何獲取相應IPAddress和EquipmentID的正確顯示名稱的任何想法?
如果您需要更多說明,請讓我知道。感謝您的幫助提前
你爲什麼加入表2的兩倍?有什麼理由嗎?另外,使用LIKE'%192'你不會得到你向我們展示的結果。 – kyooryu 2013-04-25 09:38:32