有两个表,内容如下:表1
________________________________________________________________________________
C_ID NAME
1 张三
2 李四
3 王五
4 赵六
5 田七表2
________________________________________________________________________________
id c_id numb date
1 1 3 2006-9-5
2 2 8 2006-9-5
3 3 5 2006-9-5
4 4 2 2006-9-5
5 5 7 2006-9-5
6 1 3 2006-9-6
7 2 5 2006-9-6
8 3 8 2006-9-6
9 4 2 2006-9-6
10 5 1 2006-9-6
11 1 3 2006-9-7
12 2 3 2006-9-7
13 3 4 2006-9-7
14 4 6 2006-9-7
15 5 7 2006-9-7
16 1 7 2006-9-8
17 2 8 2006-9-8
18 3 3 2006-9-8想通过查询生成如下的数据集name 2006-9-5 2006-9-6 2006-9-7 2006-9-8
---------------------------------------------------------------------------
张三 3 3 3 7
李四 8 5 3 8
王五 5 8 4 3
赵六 2 2 6 null
田七 7 1 7 null如果用SELECT语句无法实现那还能通过什么其他方法实现吗?
先谢谢大家了.
________________________________________________________________________________
C_ID NAME
1 张三
2 李四
3 王五
4 赵六
5 田七表2
________________________________________________________________________________
id c_id numb date
1 1 3 2006-9-5
2 2 8 2006-9-5
3 3 5 2006-9-5
4 4 2 2006-9-5
5 5 7 2006-9-5
6 1 3 2006-9-6
7 2 5 2006-9-6
8 3 8 2006-9-6
9 4 2 2006-9-6
10 5 1 2006-9-6
11 1 3 2006-9-7
12 2 3 2006-9-7
13 3 4 2006-9-7
14 4 6 2006-9-7
15 5 7 2006-9-7
16 1 7 2006-9-8
17 2 8 2006-9-8
18 3 3 2006-9-8想通过查询生成如下的数据集name 2006-9-5 2006-9-6 2006-9-7 2006-9-8
---------------------------------------------------------------------------
张三 3 3 3 7
李四 8 5 3 8
王五 5 8 4 3
赵六 2 2 6 null
田七 7 1 7 null如果用SELECT语句无法实现那还能通过什么其他方法实现吗?
先谢谢大家了.
set @sql='select a.name'select @sql=@sql+',['+convert(char(10),[date],120)+']=max(case b.[date] when '''+convert(char(10),[date],120)+''' then numb end)'
from 表2 group by convert(char(10),[date],120)set @sql=@sql+' from 表1 a,表2 b where a.C_ID=b.C_ID group by a.name'exec(@sql)