-1

私は、レコードを返すためにクエリが必要な 1 に等しい 3 つのフィールド (とりわけ) を含むテーブルを持っています。
したがって、3 つのフィールドがすべて 1 に等しい場合、クエリは 3 つのレコードを返す必要があります。
2 つのフィールド (3 つのいずれか) が 1 に等しい場合、クエリは 2 つのレコードを返す必要があります。

そのようなクエリはどのように見えますか?

4

1 に答える 1

0

これはあなたが必要とすることをするはずです:

SELECT * from table WHERE field1=1
UNION ALL
SELECT * from table WHERE field2=1
UNION ALL
SELECT * from table WHERE field3=1

ロジックは、各基準に必要な行を 1 つずつ選択し、それらの結合を作成するというものです。ただし、これはうまくスケールしないのは事実です...繰り返しになりますが、私は「実際に」この要件に直面したことはありません...

于 2012-11-26T16:30:31.497 に答える