0

こんにちは私はOracleにクエリがあり、私が探していることを実行できるかどうかわかりません。

以下のような質問があります

select tableA.Value, tableB.Value, tableC.Value, tableD.Value

from tableA

join tableB
on ######

join tableC
on #####

join tableD 
on #####

この結果セットを、一意のtableA.Valueを持つレコードのみに制限する必要があります

複数の行を選択して複数のテーブルに結合してから、次のようなものを追加することはできますか?

GROUP BY tableA.Value

HAVING Count(tableA.Value)= 1)

選択した行を、それらの行の1つに一意の値を持つ行に制限するために最後まで

#########################編集

おそらくよりよく説明するためのいくつかのデータ

1234ABCテスト

2345BCDテスト

2345GGGテスト

3456CDEテスト

4567DEFテスト

4567FFFテスト

5678EFGテスト

望ましい結果セット。

1234ABCテスト

3456CDEテスト

5678EFGテスト

レコードを一意の列1を持つレコードに制限したい

4

1 に答える 1

4
select tableA.Value, tableB.Value, tableC.Value, tableD.Value
  from tableA 
join tableB on ######
join tableC on #####
join tableD on #####
where 1 = (select count(*) from tableA tableA2 where tableA2.value = tableA.value)

私は何年も Oracle で働いていなかったので、構文が正しいかどうかはわかりませんが、tableA.value と tableA2.value を比較するときにあいまいさを避けるために、tableA の名前をサブクエリから tableA2 に変更することを考えています。

于 2012-10-05T16:08:17.477 に答える