【发布时间】:2023-03-07 06:17:02
【问题描述】:
我正在尝试使用语句选择记录
SELECT *
FROM A
WHERE
LEFT(B, 5) IN
(SELECT * FROM
(SELECT LEFT(A.B,5), COUNT(DISTINCT A.C) c_count
FROM A
GROUP BY LEFT(B,5)
) p1
WHERE p1.c_count = 1
)
AND C IN
(SELECT * FROM
(SELECT A.C , COUNT(DISTINCT LEFT(A.B,5)) b_count
FROM A
GROUP BY C
) p2
WHERE p2.b_count = 1)
这需要很长时间才能运行约 15 秒。
有没有更好的方法来编写这个 SQL?
【问题讨论】:
-
你真的必须提供带有模式的示例输入和输出数据......并接受更多答案
-
gbn:哈哈哈。好吧,有时有超过 1 个有效答案,我无法决定接受哪个答案。
-
有很多问题需要我们回答,我们可能会决定回答那些我们获得声誉和勾选框的问题
标签: sql-server tsql query-optimization