java/oracleを使用しています。私は以下の問題があります。上記のすべての条件の下でSQLクエリを書く方法?
SELECT
DISTINCT id_one,
status
FROM
sometable
WHERE
id_two IN (
SELECT
DISTINCT id_two
FROM
othertable
)
AND id_one IN (1946,1948,1949)
私は1つのテーブルからデータをフェッチする上記のクエリを持っています。内部クエリのデータを他のテーブルから取得します。 今私は条件を内部のクエリに追加する必要があります。 othertableにはnameという名前のフィールドがもう1つあります。
これらは私が言及したIDです:1946,1948,1949。ここでそれぞれのIDは以下のような名前を持ちます:name1、name2、name3 name1、name2、name3はjavaアプリケーションから渡されます。
最後に、次のように必要なクエリ。私の質問
SELECT
DISTINCT id_one,
status
FROM
sometable
WHERE
id_two IN (
SELECT
DISTINCT id_two
FROM
othertable other where other.name in('name1','name2','name3')
)
AND id_one IN (1946,1948,1949)
は次のとおりです。1946年のid NAME1ためを考慮すべきと1948のID name2の * を考慮すべきと1949のID NAME3のための基準として考慮されるべきです。 *私はすべてのIDの3つの名前すべてを考慮すべきではないことを意味します。
どのように達成できますか?ドキュメントから
申し訳ありませんが、私は私の質問を編集しました。 name1、name2、およびname3は、othertableのname列に対して起動される値ではない列ではありません。 – user1016403
多くの変更はありませんでしたが、自分の回答を編集しました。 –
こんにちはアンドリュー、お返事ありがとうございます。私は疑問を持っています。私の質問で私はIN(1946,1948,1949)を配置しました。ここでidの数は動的ですが、私はそこに3つのIDがありますが、いくつかの時間は10になることができます...その場合、どのように処理できますか?動的な性質の場合にid_two inが不可能なsometableからの状態を選択する(1946)。助けてください。 – user1016403