0

MyTable からいくつかの行を削除する必要があり、通常は "Delete From MyTable" を使用してから "where" ステートメントを使用します。現在、1 つの列に基づいて行を削除するための約 100 の異なる基準があり、「または」を使用すると永遠に時間がかかります。リストを使用してこれを短くすることはできますか。例の試みは次のとおりです。

GroupInitials 

ABC

DEF

GHI

JKL

MNO

PQR

STU

VWX

AEF

UYT

私は次のことをしてきました

Delete from MyTable

Where GroupInitials = 'ABC' or GroupInitials ='GHI' or GroupInitials = 'STU' ...

削除するもののリストが非常に長いので、100 個の「または」ステートメントを使用する代わりに、これらを単純にリストする方法はありますか?

前もって感謝します

4

1 に答える 1

4

IN次の述語を使用できます。

Delete 
from MyTable
Where GroupInitials IN('ABC', 'GHI', 'STU' ...);

または、これらの値を一時テーブルに書き込んで、同じ方法で削除することもできます。

Delete 
from MyTable
Where GroupInitials IN(SELECT name from temptable);

JOINこの方法では、の代わりにできますIN

于 2013-06-26T13:02:15.153 に答える