SQL(待學習)

CREATE TABLE elecct ( pid int, prop_name VARCHAR(15),vid int, NAME VARCHAR(20));

insert into elecct(pid,prop_name,vid,NAME) values(11,'手機',3232483,'IPone')

insert into elecct(pid,prop_name,vid,NAME) values(11,'手機',3232484,'聯想')

insert into elecct(pid,prop_name,vid,NAME) values(12,'電腦',3232486,'DELL

insert into elecct(pid,prop_name,vid,NAME) values(12,'電腦',3232487,'宏基')

insert into elecct(pid,prop_name,vid,NAME) values(13,'遊戲機',3232490,'PS2

insert into elecct(pid,prop_name,vid,NAME) values(13,'遊戲機',3232489,'XBOX')

 

select PID,PROP_NAME,stuff((select ',('+cast(VID as char(7))+','+NAME+')'

                                                      from elecct where PID=t.PID and PROP_NAME=t.PROP_NAME for xml path('')),1,1,'')

           from elecct t group by PID,PROP_NAME

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

11 手機 (3232483,IPone),(3232484,聯想)

12 電腦 (232486,DELL),(3232487,宏基')

13 遊戲機 (3232490,PS2),(3232489,XBOX)

 

;;;;;;;;;;;;;;;;;;;;;;;;;

 

MYSQL實現

 

CREATE TABLE elecct ( pid int, prop_name VARCHAR(15),vid int, NAME VARCHAR(20));

insert into elecct(pid,prop_name,vid,NAME) values(11,'手機',3232483,'IPone')

insert into elecct(pid,prop_name,vid,NAME) values(11,'手機',3232484,'聯想')

insert into elecct(pid,prop_name,vid,NAME) values(12,'電腦',3232486,'DELL

insert into elecct(pid,prop_name,vid,NAME) values(12,'電腦',3232487,'宏基')

insert into elecct(pid,prop_name,vid,NAME) values(13,'遊戲機',3232490,'PS2

insert into elecct(pid,prop_name,vid,NAME) values(13,'遊戲機',3232489,'XBOX')

 

select pid,prop_name,group_concat(concat('(',vid,NAME,')')) from elecct group by pid,prop_name --------------------------------------

11 手機 (3232483,IPone),(3232484,聯想)

12 電腦 (232486,DELL),(3232487,宏基')

13 遊戲機 (3232490,PS2),(3232489,XBOX)

發佈了22 篇原創文章 · 獲贊 4 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章