在sql server中按group查询返回重复项

时间:2015-05-08 14:23:52

标签: sql-server

我在Sql server中遇到问题,按查询分组返回一个表的一个字段两次(表示重复)。我不知道如何克服这个问题。

ALTER PROCEDURE [dbo].[States_of_Path_SelectAll]
AS
    SELECT FromState
    FROM RawPaths
    GROUP BY FromState

以上是查询,它会返回FromState,其值等于Close By两次,而其他FromState则可以。

查询的输出是:      会议      靠近      忽视      跟随      也供应

1 个答案:

答案 0 :(得分:3)

您的数据中可能包含不属于的空格。您有几个选择:

1)定期清理数据中出现的空格。你可以使用这样的语句:

update RawPaths
set FromState = ltrim(rtrim(FromState)

2)让您的查询删除空格:

select ltrim(rtrim(FromState)) as FromState
from RawPaths
group by ltrim(rtrim(FromState))

3)确保只有有效数据才能进入您的表格(最佳选择)。

您可以创建另一个名为States的表,其中包含ID字段和描述字段。然后将FromState字段更改为整数,并且只允许通过您的界面和/或使用键约束将有效状态输入字段。