0

2 つのテーブルを照合するために使用するこのクエリがあります。

ここで何が起こっているかというと、重複した行が表示されるということです.15行が表示される代わりに10行が表示されるはずです..何が間違っているのか教えてください。

誰かが新しい条件を追加するのを手伝ってくれませんか? パッティング

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 に答える