0

我有一个有重复数据的表。

这是我的现在表

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

注意:我不能使用不同的名称,因为名称不完全匹配。

我想从这张桌子上制作一张桌子,

ID  Name
1   shahin
2   Fred

请任何人解决此类问题。

谢谢提前

4

3 回答 3

1

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

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

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

where charindex(' ', myTable, 0) > 0
于 2013-02-08T14:50:36.733 回答
0

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

Select  Distinct Left(name,CharIndex(' ',name+' '))
From    myTable
于 2013-02-08T16:09:16.667 回答
0

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

SELECT 
   LEFT(name, CHARINDEX(' ', name)) 
FROM Table1 
GROUP BY LEFT(name, CHARINDEX(' ', name))
于 2013-02-08T14:56:26.170 回答