使用MID访问SQL不要对我的行进行分组

时间:2017-01-10 17:50:06

标签: sql ms-access vb6

我正在使用VB6并访问。然后我有一个像这样的表MAYOR:

Codigo     Titulo
---------  ----------------
600        Cuenta 600
60000000   Cuenta 60000000
610        Cuenta 610
6100       Cuenta 6100
6101       Cuenta 6101
61010000   Cuenta 61010000
61010001   Cuenta 61010001
61010002   Cuenta 61010002
6102       Cuenta 6102
61020000   Cuenta 61020000
61030000   Cuenta 61030000
61040000   Cuenta 61040000

我需要选择Codigo的长度。当我选择lenght = 2然后我需要注册 60和61。 当选择lenght = 3时,我需要600和610 当我选择lenght = 5时,我需要60000,61010,61020,61030和61040。

我使用这个SQL:

SELECT DISTINCTROW MID(CODIGO,1,4) AS CODIGOB,TITULO
FROM MAYOR
WHERE LEN(CODIGO)>=4 
ORDER BY CODIGO

但我有codigo = 6000,6100,6101,6101,6101,6101,6102,6102,6103,6104,我不需要重复。

请提出任何建议。

由于

1 个答案:

答案 0 :(得分:0)

您的规范说

  

我需要选择Codigo的长度

但您的查询是按WHERE LEN(CODIGO)>=4

过滤的

请尝试使用DISTINCT并匹配ORDER BY子句,如下所示:

SELECT DISTINCT MID(CODIGO, 1, 4) AS CODIGOB, TITULO
FROM MAYOR
WHERE LEN(CODIGO) = 4
ORDER BY MID(CODIGO, 1, 4)