【发布时间】:2016-12-21 12:59:15
【问题描述】:
我有一些工作 SQL 想要改进。当前 SQL 将提取链接到帐户的所有联系人的列表,包括他们的关系,并包括其他选项。这被用于一些脚本软件,这些软件使用代码在其中显示为一个问题,允许用户选择显示的条目以显示更多信息。
这很好用,但我希望主要租户拉到顶部,底部的其他选项,以及按字母顺序列出的所有其他选项。
这是当前代码:
SELECT [Relationship]+' - '+[Contact Name] AS DISPLAY , [Contact Name] AS VALUE
FROM [Database]
WHERE ID = 'ID'
UNION
SELECT [Relationship]+' - '+[Contact Name] AS DISPLAY, [Contact Name] AS VALUE
FROM [Database]
WHERE GroupID = 'GroupID' AND [Relationship] IS NOT NULL
UNION
SELECT 'Other' AS DISPLAY, 'Other' AS VALUE
此时会显示如下信息:
DAUGHTER - Miss A C
HUSBAND - Mr V C
Other
SON - Mr G B
TENANT - Mrs S C
我想首先将其列为租户,然后是其他所有内容:
TENANT - Mrs S C
DAUGHTER - Miss A C
HUSBAND - Mr V C
SON - Mr G B
Other
我尝试在代码末尾使用 ORDER BY,但发现只能按字母顺序排列。我还尝试将每个语句括起来并在其中插入 ORDER BY 函数,但这也不起作用。
有人能告诉我我缺少什么吗?别名和 UNION 似乎给我带来了问题,但我需要这些才能使核心代码正常工作。
【问题讨论】:
标签: sql sql-server tsql