-1

このクエリが同じ結果を 2 回表示する理由。

"SELECT * from sony.bsha 
inner join sony.frndreq 
on sony.frndreq.from='"+email+"' or sony.frndreq.to='"+email+"'";

また、データの二重表示を止める方法を教えてください。

4

4 に答える 4

1

いくつかの共通フィールドでテーブルを結合してから、WHERE句を使用する必要があります。

SELECT * 
FROM sony.bsha 
INNER JOIN sony.frndreq 
ON sony.bsha.someField = sony.frndreq.someField
WHERE sony.frndreq.from='"+email+"' OR sony.frndreq.to='"+email+"' "

それでも二重の結果が得られる場合はDISTINCT、 またはを使用しますGROUP BY。データベーススキーマなどが与えられていないことは、これ以上言うのは難しい.

于 2013-10-02T12:33:03.303 に答える
0

GROUP BYを使用する

"SELECT * 
 from sony.bsha 
      inner join sony.frndreq 
          on sony.frndreq.from='"+email+"' or sony.frndreq.to='"+email+"'
GROUP BY sony.frndreq.from
    ";
于 2013-10-02T12:30:05.833 に答える