我有这个查询用于匹配两个表。
这里发生的是我得到重复的行.. 应该出现10行而不是出现15 .. 你能告诉我我做错了吗?
有人可以帮我添加新条件吗? 放
i.`time`- r.`time` is between 01:00:00 and 01:05:00
谢谢..
$data = mysql_query( "select r.`time`, r.`epos_id`,r.`basket_value`, r.`date`,re.`location`,i.`user_id`,i.`mobile_number`,
i.`time`, i.`rbpos_id`, i.`date`
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`, '01:05:00') > i.`time`
and r.`time` < i.`time`
and r.`date` = i.`date`;
")
or die(mysql_error());
Print "<table border cellpadding=3>";
Print "<tr>";
Print "<th>Date:</th>
<th>Time</th>
<th>Location</th>
<th>User ID</th>
<th>Basket Value</th>
<th>Mobile Number</th>";
Print "</tr>";
while($info = mysql_fetch_array( $data ))
{
Print "<tr>";
Print " <td>".$info['date'] . "</td>
<td>".$info['time'] . " </td>
<td>".$info['location'] . " </td>
<td>".$info['user_id'] . " </td>
<td>".$info['basket_value'] . " </td>
<td>".$info['mobile_number'] . " </td>
</tr>";
答案 0 :(得分:0)
试试这个
SELECT r.`time`, r.`epos_id`,r.`basket_value`,r.`date`,re.`location`,i.`user_id`,i.`mobile_number`,i.`time`, i.`rbpos_id`, i.`date`
FROM retailer r
INNER JOIN rbpos_epos re
ON r.epos_id = re.epos_id
INNER JOIN imovo i
ON i.rbpos_id = re.rbpos_id
WHERE i.`time`- r.`time` BETWEEN '01:00:00' and '01:05:00'
AND r.`date` = i.`date`
AND r.`time` < i.`time`
AND addtime(r.`time`, '01:05:00') > i.`time`