sql - 声纳曲。使用 union 解析 CROSS APPLY 中的错误,但一切看起来都不错
问题描述
我有大约 1k 行的带有 sql 函数的文件。Sonar 在此文件上引发错误。代码本身可以正常工作。这是错误所在请求的一般视图。解析错误消息指向 '^' 上方的符号
INSERT INTO foo
SELECT
...
FROM foo
JOIN ..
JOIN ...
CROSS APPLY (SELECT TOP (1)
...
FROM ...
WHERE ...
ORDER BY ..
UNION
^
SELECT TOP (1)
...
FROM ...
JOIN ...
JOIN ...
WHERE ...
ORDER BY ...
) pp
解决方案
INSERT INTO foo
SELECT
...
FROM foo
JOIN ..
JOIN ...
CROSS APPLY ((SELECT TOP (1)
...
FROM ...
WHERE ...
ORDER BY ..)
UNION
^
( SELECT TOP (1)
...
FROM ...
JOIN ...
JOIN ...
WHERE ...
ORDER BY ..)
) pp