在SQL中创建唯一列表
我有一个具有重复数据的表。在SQL中创建唯一列表
这是我现在的表
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
请人解决这类问题。
感谢推进
,如果你只是想获得的行不同的第一句话就是:
select distinct substring(Name, 0, charindex(' ', Name, 0))
from myTable
你也可以添加对行的检查,它通过添加where子句包含空格字符:
where charindex(' ', myTable, 0) > 0
非常感谢你 – user1928185 2013-02-08 15:35:41
不客气,但请标记正确的答案,如果你从他们受益:) – Noxthron 2013-02-08 15:41:10
@Noxthron upvoting你的,因为它帮助OP,但你可以补偿缺乏一个空间通过追加一个varchar你是CharIndexing。 – 2013-02-08 16:11:28
如果你只需要第一个名字,试试这个:
SELECT
LEFT(name, CHARINDEX(' ', name))
FROM Table1
GROUP BY LEFT(name, CHARINDEX(' ', name))
你需要考虑的是没有空间的记录...
Select Distinct Left(name,CharIndex(' ',name+' '))
From myTable
是只列出名字的要求? – SchmitzIT 2013-02-08 14:51:06