小编Bol*_*tie的帖子

SQL 查找字段的部分重复项

我有一个表,其中包含一个成员编号字段。该表可以包含该字段具有重复值的记录,并且确实如此。

我有一个 SQL 查询,它将获取该字段的任何重复值,但是,我现在想查找具有相同成员编号的另一条记录但只有 9 个数字中的前 8 个数字的记录。

例如,我想在查询运行时返回以下内容;

MEMBNO
123456789
123456782
Run Code Online (Sandbox Code Playgroud)

目前,我的查询只返回;

MEMBNO
123456789
Run Code Online (Sandbox Code Playgroud)

有两个或多个具有此确切数字的记录。

当前查询是;

SELECT
  basic.MEMBNO
FROM
  basic
GROUP BY
  basic.MEMBNO
HAVING
  COUNT(basic.MEMBNO) >1
ORDER BY
  basic.MEMBNO
Run Code Online (Sandbox Code Playgroud)

我认为可能有效的查询是;

SELECT
  basic.MEMBNO
FROM
  basic
GROUP BY
  basic.MEMBNO
HAVING
  COUNT(LEFT(basic.MEMBNO,8)) >1
ORDER BY
  basic.MEMBNO
Run Code Online (Sandbox Code Playgroud)

总的来说,我对 SQL 和数据库不太熟悉,所以如果我没有很好地解释自己,我深表歉意。它是否需要在某处使用 LIKE 运算符?

我正在使用 Microsoft SQL Server 报表生成器 3.0。

sql-server-2008 sql-server t-sql

4
推荐指数
1
解决办法
2999
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1

t-sql ×1