只是寻找更好的方向,而不是解决方案。这是一个加入工作
我有两个表 - 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