0

我有这个查询,我用它来匹配两个表。

这里发生的事情是我得到了重复的行。应该出现 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>"; 
4

1 回答 1

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`
于 2012-12-03T11:35:45.740 回答