菜单

SQL精彩语句

2019年8月2日 - 数据网络

有表tb, 如下:
id value

SQL code

 1 –分拆列值 
 2 –原著:邹建 
 3 –改编:爱新觉罗.毓华(十六年风雨,守得冰山雪金水芝开) 二零零七-12-16 广西费城
 4 
 5 –有表tb, 如下: 
 6 –id value 
 7 ————- ———– 
 8 –1 aa,bb 
 9 –2 aaa,bbb,ccc 
10 –欲按id,分拆value列, 分拆后结果如下: 
11 –id value 
4166am金沙下载,12 ————- ——– 
13 –1 aa 
14 –1 bb 
15 –2 aaa 
16 –2 bbb 
17 –2 ccc 
18 
19 –1. 旧的减轻方法(sql server 三千) 
20 SELECT TOP 8000 id = IDENTITY(int, 1, 1) INTO # FROM syscolumns a, syscolumns b
21 
22 SELECT A.id, SUBSTRING(A.[values], B.id, CHARINDEX(‘,’, A.[values] + ‘,’, B.id) – B.id) 
23 FROM tb A, # B 
24 WHERE SUBSTRING(‘,’ + A.[values], B.id, 1) = ‘,’
25 
26 DROP TABLE #
27 
28 –2. 新的缓慢解决形式(sql server 二〇〇五) 
29 create table tb(id int,value varchar(30)) 
30 insert into tb values(1,’aa,bb’) 
31 insert into tb values(2,’aaa,bbb,ccc’) 
32 go 
33 SELECT A.id, B.value 
34 FROM( 
35 SELECT id, [value] = CONVERT(xml,’ <root> <v>’ + REPLACE([value], ‘,’, ‘ </v> <v>’) + ‘ </v> </root>’) FROM tb 
36 )A 
37 OUTER APPLY( 
38 SELECT value = N.v.value(‘.’, ‘varchar(100)’) FROM A.[value].nodes(‘/root/v’) N(v) 
39 )B
40 
41 DROP TABLE tb
42 
43 /* 
44 id value 
45 ———– —————————— 
46 1 aa 
47 1 bb 
48 2 aaa 
49 2 bbb 
50 2 ccc
51 
52 (5 行受影响)
53 */


联合列值 –******************************************************************************************* 表结构,数据如下: id value —–
—— 1 aa 1 bb 2 aaa 2 bbb 2 ccc 要求获得结果: id values
—— ———– 1 aa,bb 2 aaa,bbb,ccc 即:group
by id, 求 value 的谷青阳和(字符串相加)

1 aa,bb
2 aaa,bbb,ccc
欲按id,分拆value列, 分拆后结果如下:
id value

  1. 旧的消除方法(在sql server
    三千中只好用函数消除。) –============================================================================= create
    table tb(id int, value
    varchar(10)) insert
    into tb values(1, ‘aa’)
    insert into tb
    values(1, ‘bb’)
    insert into tb
    values(2, ‘aaa’)
    insert into tb
    values(2, ‘bbb’)
    insert into tb
    values(2, ‘ccc’)
    go –1.
    创立管理函数 CREATE
    FUNCTION dbo.f_strUnite(@id
    int) RETURNS
    varchar(8000) AS
    BEGIN DECLARE
    @str varchar(8000) SET
    @str =
    ” SELECT
    @str =
    @str +
    ‘,’

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图