ACCESS数据库,如何统计字段中逗号分隔的值

ACCESS数据库,如何统计字段中逗号分隔的值,第1张

首先得到库中的数据,放入一个List列表中。

遍历列表,把每一行值用STRING保存,然后用SPLIT(‘,’)切分,把字符存入一个字符数组中。

定义一个整形i,用来存数量,用IF判断是否有A在,有就让i+1.

最后i就是你要的了。

以上只是思路。代码也很好实现的。

数据库是什么数据库?

SQL Server  2005 以上版本的话,  倒是没有问题的...

直接一条语句就可以处理了。

-- 测试表 和测试数据。

CREATE TABLE #A (

  Id     INT,

  Value  varchar(6)

)

GO

INSERT INTO #A VALUES(1,  '2')

INSERT INTO #A VALUES(2,  '4')

INSERT INTO #A VALUES(3,  '51')

INSERT INTO #A VALUES(4,  '2')

INSERT INTO #A VALUES(5,  '20')

GO

CREATE TABLE #B (

  Id      INT,

  Value   VARCHAR(10)

)

GO

INSERT INTO #B VALUES(1,  '1')

INSERT INTO #B VALUES(2,  '2,3')

INSERT INTO #B VALUES(3,  '4,5')

INSERT INTO #B VALUES(4,  '1,2,3')

GO

-- 一条 查询的 sql 语句。

SELECT

  id,

  cast(

  STUFF(

    (

    SELECT

      ',' + a.value

    FROM

      #a a

    WHERE

      CHARINDEX( ',' + RTRIM(cast(a.id as char)) + ',',  ',' + b.Value + ',' ) > 0

    FOR XML PATH('')

    ), 1, 1, '') 

  as varchar(10)) AS Value

FROM

  #b  b

GO

-- 查询的结果如下:

id          Value

----------- ----------

          1 2

          2 4,51

          3 2,20

          4 2,4,51

(4 行受影响)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9967392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存