积极答复者
查找同一个字段中前3个字符相同的所有行

问题
答案
-
CREATE TABLE ttprefix(id INT IDENTITY(1,1),number INT,NAME NVARCHAR(200))
INSERT INTO [dbo].[ttprefix]
( [number], [NAME] )
SELECT 001,'gzs_12k' UNION ALL
SELECT 002,'gzs_8h' UNION ALL
SELECT 001,'szs_12k' UNION ALL
SELECT 002,'szs_9k' UNION ALL
SELECT 001,'shs_16k' UNION ALL
SELECT 001,'bjs_18k'
SELECT tpa.[id] ,
[tpa].[number] ,
[tpa].[NAME]
FROM [dbo].[ttprefix] tpa
JOIN [dbo].[ttprefix] tpb ON SUBSTRING([tpa].[NAME], 0,
CHARINDEX('_', [tpa].[NAME], 0)) = SUBSTRING([tpb].[NAME],
0,
CHARINDEX('_',
[tpb].[NAME], 0))
AND [tpb].[id] <> [tpa].[id]Love SQL
- 已标记为答案 kZhj 2016年7月13日 6:07
全部回复
-
CREATE TABLE ttprefix(id INT IDENTITY(1,1),number INT,NAME NVARCHAR(200))
INSERT INTO [dbo].[ttprefix]
( [number], [NAME] )
SELECT 001,'gzs_12k' UNION ALL
SELECT 002,'gzs_8h' UNION ALL
SELECT 001,'szs_12k' UNION ALL
SELECT 002,'szs_9k' UNION ALL
SELECT 001,'shs_16k' UNION ALL
SELECT 001,'bjs_18k'
SELECT tpa.[id] ,
[tpa].[number] ,
[tpa].[NAME]
FROM [dbo].[ttprefix] tpa
JOIN [dbo].[ttprefix] tpb ON SUBSTRING([tpa].[NAME], 0,
CHARINDEX('_', [tpa].[NAME], 0)) = SUBSTRING([tpb].[NAME],
0,
CHARINDEX('_',
[tpb].[NAME], 0))
AND [tpb].[id] <> [tpa].[id]Love SQL
- 已标记为答案 kZhj 2016年7月13日 6:07