SQL选择distinct但返回所有列加上where

时间:2014-10-06 13:28:21

标签: sql group-by distinct where-clause

我正在尝试创建一个视图,其中列出了所有列,但只在[SERVER_NAME]上进行了区分 同时我只想列出公司= x和未退休的系统。

我试图通过Server_name创建一个组,但收到错误:

is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

查询如下所示:

SELECT DISTINCT [SYSTEM_ID]
      ,[SERVER_NAME]
      ,[COMPANY]
      ,[SYSTEM_OWNER]
      ,[SYSTEM_STATUS]
      ,[SERVER_STATUS]
      ,[PrimaryDnsName]
      ,[DomainName]
      ,[DiscoveredVendor]
      ,[IpAddress]
  FROM [ServerSystemDB].[dbo].[Server_System_Kunde]
 WHERE COMPANY = 'BM-ASK' and SYSTEM_STATUS != 'Retired'
-- GROUP BY [SERVER_NAME]

由于SYSTEM_ID不相同,它会多次列出SERVER_NAME,那就是我需要唯一的列。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据评论我的评论是anser

不要包含SYSTEM_ID