私が使用しているクエリは次のとおりです。
select top 1 'Return To IPACS' as name, 'http://domain:88' as link
union
select name,link
from jrm_intranetlinks l
inner join jrm_intranetpermissions p on l.id = p.linkid
where p.userid = 155
order by case name when 'Home' then 2 when 'Team' then 1 end desc, name
これが私が受け取っているエラーメッセージです:
Msg 104, Level 16, State 1, Line 1
ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.
上記の一番下のセットは、リンク名に使用するリストを返し、右側の列はリンク先のパスを提供します。全員にデフォルトのリンクを追加する必要があるため、ユニオン部分を試しています。このリンクは全員が取得し、他のテーブルには許可に基づいてリンクが表示されるためです。
order by 句がなくても問題なく動作しますが、一番上にある ipacs に戻り、次にホーム、次にチーム、そして残りの順序付けられた降順が必要です。
ここで何が間違っていますか?