在SQL中创建唯一列

时间:2013-02-08 14:46:26

标签: sql-server

我的表格有重复数据。

这是我的Now表

Id  Name
1   shahin Zen
2   shahin Zen & Aaron Henley
3   Fred Sayz feat. Antonia Lucas
4   Fred Sayz feat. Lawrence Alexander
5   Fred Sayz feat. Sibel

注意:我不能使用明显的beacuse名称还没有完全匹配。

我想在表中创建一个表格,如

ID  Name
1   shahin
2   Fred

请有人解决这类问题。

感谢提前

3 个答案:

答案 0 :(得分:1)

如果您只想获得行的不同的第一个单词:

select distinct substring(Name, 0, charindex(' ', Name, 0))
from myTable

您还可以通过添加where子句来添加对包含空格字符的行的检查:

where charindex(' ', myTable, 0) > 0

答案 1 :(得分:0)

如果你只需要名字,试试这个:

SELECT 
   LEFT(name, CHARINDEX(' ', name)) 
FROM Table1 
GROUP BY LEFT(name, CHARINDEX(' ', name))

答案 2 :(得分:0)

您需要考虑那些没有空格的记录......

Select  Distinct Left(name,CharIndex(' ',name+' '))
From    myTable