只是尋找更好的方向,而不是解決方案。這是一個加入工作
我有兩個表 - A,B
表A具有IP地址和時間(時間將等於或開始時間和結束時間之間)
表B具有用戶名,開始時間,結束時間,IP解決
的工作,我試圖找出什麼IP地址和時間在表A對應的用戶名錶B.
更一般地,誰(用戶名)在特定的使用特定的IP地址時間。
假設我的解釋是有道理的,這似乎像使用join可以在兩個表之間有所建樹?如果不是下一步最好的一步。我試圖避免從一個表到另一個表的很多手動查詢。
歡迎任何方向,謝謝。
只是尋找更好的方向,而不是解決方案。這是一個加入工作
我有兩個表 - A,B
表A具有IP地址和時間(時間將等於或開始時間和結束時間之間)
表B具有用戶名,開始時間,結束時間,IP解決
的工作,我試圖找出什麼IP地址和時間在表A對應的用戶名錶B.
更一般地,誰(用戶名)在特定的使用特定的IP地址時間。
假設我的解釋是有道理的,這似乎像使用join可以在兩個表之間有所建樹?如果不是下一步最好的一步。我試圖避免從一個表到另一個表的很多手動查詢。
歡迎任何方向,謝謝。
是,聯接爲宜。該條件需要是一個符合IP地址和時間約束的複合條件。
select B.username, A.ipaddress, A.time
from A inner join B on A.ipaddress = B.ipaddress
and A.time between B.starttime and B.endtime
是 - 這也正是那種情況下,你應該使用在JOIN
SELECT x, y, z
FROM a
INNER JOIN b ON a.ip_address = b.ip_address
SELECT *
FROM a
INNER JOIN b
WHERE a.ip_address = b.ip_address
AND b.starttime <= a.time
AND a.time <= b.endtime
+1。你用鼠標點擊擊敗了我。 :)刪除我的答案。 – 2012-02-09 18:55:16
這就是我想知道的。有了這些例子,我認爲你只是救了我8個小時。乾杯 – notmyname 2012-02-09 19:05:05