作者fcouple (好想交女朋友)
看板Database
标题[SQL ] 又见多行合并
时间Sat May 5 10:16:55 2007
个位前辈大家好,我有个特例,不知道大家有没有这样的经验:
我有两个资料表,user、records,长的像这样:
-------------------
user
-------------------
user_no user_name
======= =========
1111 王伟忠
2222 曾正诚
3333 林忠信
-------------------
records
-------------------
time user_no
======= =========
0750 1111
0752 3333
0755 1111
1705 1111
0800 3333
0900 3333
1000 3333
1100 3333
1900 3333
来,下个 Join
Select a.user_no, a.user_name, b.time
From user a Left Join records b On a.user_no=b.user_no
Order By a.user_no
出现:
user_no user_name time
==== ====== ====
1111 王伟忠 0750
1111 王伟忠 0755
1111 王伟忠 1705
2222 曾正诚 NULL
3333 林忠信 0752
3333 林忠信 0800
3333 林忠信 0900
3333 林忠信 1000
3333 林忠信 1100
3333 林忠信 1900
但这不是我要的,我要的是长的像这样的资料:
user_no user_name time1 time2 time3 time4
==== ====== ===== ===== ===== =====
1111 王伟忠 0750 0755 1705 NULL
2222 曾正诚 NULL NULL NULL NULL
3333 林忠信 0752 0800 0900 1000
换句话说,我想要制造出 time1 到 time4 等四个栏位,然後取 Join 出来的前四笔资料
,若少於四笔,则补上 Null,若多於四笔,其余舍去。
请问这样的 SQL 语法有谁会的吗?(只限使用 MS-SQL2000、Access 资料库语法。)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.43.45
※ 编辑: fcouple 来自: 220.130.43.45 (05/05 10:50)