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 条记录就运行了一个多小时。记录总数很大,因为这是一个生产表。我想知道为什么查询运行时间很长,以及我是否可以获得相同的优化查询。
谢谢,普拉巴