我有两个查询与UNION ALL1组合:
--Query 1
SELECT Flavor, Color
FROM Friends
Run Code Online (Sandbox Code Playgroud)
--Query 2
SELECT Flavor,
(SELECT TOP 1 Color
FROM Rainbows
WHERE Rainbows.StrangerID = Strangers.StrangerID
ORDER BY Wavelength DESC
) AS Color
FROM Strangers
Run Code Online (Sandbox Code Playgroud)
当然,这两者都可以单独工作,但当与以下内容结合使用时UNION ALL:
SELECT Flavor, Color
FROM Friends
UNION ALL
SELECT Flavor,
(SELECT TOP 1 Color
FROM Rainbows
WHERE Rainbows.StrangerID = Strangers.StrangerID
ORDER BY Wavelength DESC
) AS Color
FROM Strangers
Run Code Online (Sandbox Code Playgroud)
查询失败并显示错误:
如果语句包含UNION运算符,则消息104,级别15,状态1,行3 ORDER BY项必须出现在选择列表中.
如何在UNION ALL的语句中使用ORDER BY?
CREATE TABLE …Run Code Online (Sandbox Code Playgroud)