我在Sql server中遇到问题,按查询分组返回一个表的一个字段两次(表示重复)。我不知道如何克服这个问题。
ALTER PROCEDURE [dbo].[States_of_Path_SelectAll]
AS
SELECT FromState
FROM RawPaths
GROUP BY FromState
以上是查询,它会返回FromState
,其值等于Close By
两次,而其他FromState
则可以。
查询的输出是: 会议 靠近 忽视 跟随 也供应
答案 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字段更改为整数,并且只允许通过您的界面和/或使用键约束将有效状态输入字段。