0

Oracle SQL クエリを作成するのに助けが必要です。詳細は以下のとおりです。

offender_gang_affiliationsとという名前の 2 つの異なる列を持つテーブルがoffender_idありdept_dvsn_codeます。

dept_dvsn_codeテーブルに「A」とdept_dvsn_code「J」の行があるすべての犯罪者 ID のリストが必要です。ANDさまざまな条件を適用しようとしましORたが、機能するものを思いつくことができませんでした。

4

1 に答える 1

3

あなたは次のようなものが欲しいようです

SELECT offender_id
  FROM offender_gang_affiliations
 WHERE dept_dvsn_code IN ('A','J')
 GROUP BY offender_id
HAVING COUNT(DISTINCT dept_dvsn_code) = 2

クエリを作成する別の方法は次のとおりです。

SELECT offender_id
  FROM offender_gang_affiliations
 WHERE dept_dvsn_code = 'A'
INTERSECT
SELECT offender_id
  FROM offender_gang_affiliations
 WHERE dept_dvsn_code = 'J'

一般的に、最初のオプションの方が効率的だと思います。開発者によっては、2番目のオプションがより明確になる場合があります。

于 2013-02-21T20:04:22.290 に答える