0
[TABLE1]

 +----------+-------------------+
 | USERNAME | POST              |
 +----------+-------------------+
 | Bob      | 'Hi There'        |
 | Jack     | 'Hello'           |
 | Bob      | 'Today is Monday' |
 +----------+-------------------+

 [TABLE2]

 +----------+-----------+
 | USERNAME | FOLLOWING |
 +----------+-----------+
 | Mike     | Jack      |
 | Jack     | Bob       |
 | Bob      | Jack      |
 | Jack     | Mike      |
 +----------+-----------+

私はこの結合ステートメントを使用しています:

 SELECT t1.* FROM TABLE1 t1 INNER JOIN table2 t2 
 ON t1.username = t2.following AND t2.username = 'jack';

これは機能しますが、これらの結果を返すことに加えて、「OR t1.USERNAME = 'jack';

そして、別のOR..結合を行う方法はありますが、ORステートメントもあります

4

4 に答える 4

1

括弧内に複数の OR 条件を指定する必要があります。

SELECT t1.* 
FROM TABLE1 t1 
     INNER JOIN table2 t2  
         ON t1.username = t2.following 
            AND (t2.username = 'jack' OR t2.username = 'John' OR t2.username = 'Tom');
于 2012-07-23T10:16:38.520 に答える
1

whereその条件を節に入れる

SELECT t1.* FROM TABLE1 t1
INNER JOIN table2 t2  ON t1.username = t2.following
where t2.username = 'jack'
OR t1.USERNAME = 'jack'
于 2012-07-23T10:15:36.173 に答える
0

はい、あなたはそれを行うことができます

 SELECT t1.* FROM TABLE1 t1 INNER JOIN table2 t2 ont1.colName1=t2.Colname2 where colname ='value' or colname='vaue1' or colname='value';
于 2012-07-23T10:17:00.363 に答える
0

簡易法

SELECT t1.* FROM TABLE1 t1 
INNER JOIN table2 t2  ON t1.username = t2.following 
where 'jack' in (t1.USERNAME,t2.username)
于 2012-07-23T10:26:39.077 に答える