同じデータの列が 20 あります。Dept_1、dept_2、dept_3....これらの各列が一致するデータベースにクエリを実行したい (疑似コード: where dept_1, dept_2, dept_3... = 'ACCOUNTING'
) 節でこれらの列の 20 個すべてを実際に書き出す必要はありませんWHERE
。これを行う方法はありますか?
3 に答える
2
私はデータベースの設計に真剣に疑問を投げかけています...しかし、おそらくこれはあなたが探しているものですか?
WHERE Dept_1 = 'ACCOUNTING'
AND Dept_2 = 'ACCOUNTING'
AND Dept_3 = 'ACCOUNTING'
... ad nauseum
AND Dept_19 = 'ACCOUNTING'
AND Dept_20 = 'ACCOUNTING'
于 2012-05-14T22:47:15.623 に答える
0
短いバージョンを使用する方が簡単だと思います:
select *
from table
where 'ACCOUNTING' in (dept_1, dept_2, dept_3, . . . )
すべてのフィールドを同じにする必要がある場合は、WHERE 句と AND を使用します。
ただし、データベースを再設計して、部門ごとに個別の行を持つテーブルを作成することもできます。
于 2012-05-15T01:49:25.050 に答える
0
最も簡単な方法は、次のようなことです。
SELECT * FROM table
WHERE dept_1 = 'ACCOUNTING'
AND dept_2 = 'ACCOUNTING'
AND dept_3 = 'ACCOUNTING'
また
SELECT * FROM table
WHERE dept_1 = 'ACCOUNTING'
OR dept_2 = 'ACCOUNTING'
OR dept_3 = 'ACCOUNTING'
3 つのフィールドすべてが同じ値を持つデータを取得するか、少なくとも 1 つのフィールドが一致する場合にデータを取得するかによって異なります。
于 2012-05-14T22:52:40.630 に答える