0

たとえば、この2つのテーブルがあります

表1:

Dir_num |  dir_name
10      | john
11      | vlad

テーブル 2:

game    |  dir_num
101     | 10
111     | 10
102     | 11
104     | 10
104     | 10

ここで、プレイしたゲームが 2 つ未満の dir_name を見つけようとします。

select * from table1 where dir_num  ....

pl/sql コードを見つけるのを手伝ってください。

出力が表示されるはずです

 Vlad.
4

2 に答える 2

2

このようなものを試してください-使用GROUP BYしてHAVING

SELECT t.dir_num, t.dir_name
FROM Table1 t
  LEFT JOIN Table2 t2 ON t.dir_num = t2.dir_num
GROUP BY t.dir_num, t.dir_name
HAVING COUNT(DISTINCT t2.game) < 2

そして、これがSQLFiddleです。

両方のテーブル(少なくとも1つのゲームを意味する)にそれらが必要な場合は、LEFTJOINをINNERJOINに変更します。

幸運を。

于 2013-01-31T04:22:35.250 に答える
1

してみてください:

SELECT t.dir_num, t.dir_name
FROM Table1 t
  INNER JOIN Table2 t2 ON t.dir_num = t2.dir_num
GROUP BY t.dir_num, t.dir_name
HAVING COUNT(DISTINCT t2.game) < 2
于 2013-01-31T04:52:25.513 に答える