0

クエリが必要ですが、状況に応じた基準があります。例として:

column1 という名前の列を持つ table1 という名前のテーブルと、column2 という名前の列を持つ table2 という名前のテーブルを作成します。

where 句のクエリでは、この table1 を table2 と column1 および column2 列で結合する必要があります。しかし、私は好きにする必要があります

if 
     column1 = 'x' then my criteria must be column1 = column2
else
     column1 != 'x'

Oracleでこのwhere句を書くにはどうすればよいですか?

ご回答ありがとうございます。

4

2 に答える 2

2

これを試して

WHERE (Column1 != 'x' OR (Column1 = 'x' AND column1 = column2))
于 2012-09-27T06:49:56.677 に答える
2

ORこのような条件を使用するだけです:

WHERE (Column1 <> 'x' OR column1 = column2)

(これは通常の SQL 構文です。Oracle の構文に変更があるかどうかはわかりません。ただし、このロジックを試すことができます)

編集:( 私の回答のOPのコメントから)

次のようなことができます。

WHERE (column2 != (Select col from table3) OR column1 = 'x')

または

WHERE (column2 != (Select col from table3) OR column1 = (Select col from table3))
于 2012-09-27T06:40:52.517 に答える