PID UID Req Res
1 101 C to
2 101 A from
3 101 B to
4 102 A from
5 102 B from
以下の条件を満たすテーブルからすべてのレコードを取得するクエリを書きたいと思います。
Res='to' であるすべてのレコードの UID を取得したい。これらの特定の UID について、Req='A' のレコードを取得したいと考えています。サンプルクエリを作成しましたが、それも機能しました。以下のクエリを見つけてください。
SELECT Res,
UID,
Req
FROM TABLE
WHERE Req = 'A'
AND UID = (SELECT DISTINCT( UID )
FROM TABLE
WHERE Res = 'to')
上記のクエリの問題は、SQL Server 2008 での実行中に、わずか 15 ~ 20 レコードを取得するために 1 時間以上実行されることです。これは本番テーブルであるため、レコードの総数が大きくなります。クエリが長時間実行されている理由と、最適化されたクエリを取得できるかどうかを知りたいです。
ありがとう、プラバース