日期:2014-05-18  浏览次数:20456 次

sql server group by all的疑问
有course表如下:
c# cname t#
---------- ---------- ----------
01 语文 02
02 数学 01
03 英语 03

sc表如下:
S# C# score
---------- ---------- ---------------------------------------
01 01 80.0
01 02 90.0
01 03 99.0
02 01 70.0
02 02 60.0
02 03 80.0
03 01 80.0
03 02 80.0
03 03 80.0
04 01 50.0
04 02 30.0
04 03 20.0
05 01 76.0
05 02 87.0
06 01 31.0
06 03 34.0
07 02 89.0
07 03 98.0

select course.c#,course.cname from course,sc where course.c# = sc.c#
group by all course.c#,course.cname
语句执行后结果如下:
c# cname
---------- ----------
02 数学
03 英语
01 语文

select sc.c#,course.cname from course,sc where course.c# = sc.c#
group by all sc.c#,course.cname
语句执行后对应结果如下:
c# cname
---------- ----------
01 数学
02 数学
03 数学
01 英语
02 英语
03 英语
01 语文
02 语文
03 语文

为什么会这样?

------解决方案--------------------
探讨
course, sc.
你group by 的表不一样

------解决方案--------------------
可以去看看石头的BLOG
------解决方案--------------------
http://blog.csdn.net/happyflystone/article/details/5987769