我有这个查询用于匹配两个表,现在,我只是按时间匹配表,所以,这意味着,零售商表中的时间字段比imovo表中的时间字段提前5秒。我需要实现的是:
当我插入零售商行时,我添加零售商时间,零售商epos_id等信息 当我插入imovo行时,我添加信息,如imovo时间,imovo rpos_id 我还有一个表rbpos_epos,它有匹配的rbpos_id和epos_id即
table retailer:
time | epos_id
12:23:34 ea12
table imovo
time | rbpos_id
12:23:29 ra12
table rbpos_epos
id | epos_id | rbpos_id
1 ea12 ra12
当我将零售商与imovo匹配时,我还要检查他们各自的rbpos_id和epos_id是否在rbpos_epos表中匹配..我的意思是,如果他们是一对,如果他们有相同的ID ..
这是我目前使用的查询
SELECT retailer.date, retailer.time, retailer.location, retailer.user_id,imovo.mobile_number ".
"FROM retailer LEFT JOIN imovo ".
" ON addtime(retailer.time, '0:0:50')>imovo.time
AND retailer.time <imovo.time AND retailer.date=imovo.date
"
答案 0 :(得分:0)
尝试加入所有三个表SQL Fiddle
select r.`time`, r.`epos_id`,
i.`time`, i.`rbpos_id`
from retailer r
join rbpos_epos re on r.epos_id = re.epos_id
join imovo i on i.rbpos_id = re.rbpos_id
and addtime(r.`time`, '0:0:50') > i.`time`
and r.`time` < i.`time`
and r.`date` = i.`date`;
根据需要在select中添加列。