读书人

这个联表group by 语句应该如何写

发布时间: 2012-12-26 14:39:29 作者: rapoo

这个联表group by 语句应该怎么写?
tableA

Id Type1 TypeId Type3 Type4
1 类型8 11 1111 3
2 类型7 77 7878 98
3 类型2 20 111 76
4 类型8 11 78 78

tableC

TypeId Number
11 10
77 20
20 50
78 78

将tableA的TypeId字段和tableC的TypeId相关联,然后再对tableA的TypeId进行group by

我想要的效果是
Id Type1 TypeId Type3 Type4 Number
1 类型8 11 1111 3 10
4 类型8 11 78 78 78
2 类型7 77 7878 98 20
3 类型2 20 111 76 50





[最优解释]
纯粹你的例子的话,没必要用到groupby啊

SELECT  a.id ,
a.type1 ,
A.typeid ,
a.type3 ,
a.type4 ,
C.number
FROM tableA a
INNER JOIN tableC c ON A.typeid = c.typeid

[其他解释]
引用:
纯粹你的例子的话,没必要用到groupby啊


SQL code?



12345678

SELECT a.id , a.type1 , A.typeid , a.type3 , a.type4 , C.number FROM tableA a INNER JOIN ta……


现在数据少看不出来,数据多的话就必须要用到group by了
[其他解释]
你多给几条看得出差异的数据来看看。幻想不出来,
[其他解释]
或者说,你不要用技术的角度说明,你从业务角度告诉我你要得到什么,也就是你那个结果是按照什么规律出来的?
[其他解释]
引用:
你多给几条看得出差异的数据来看看。幻想不出来,



想了一下,其实用order by 就可以了
[其他解释]
引用:
引用:
你多给几条看得出差异的数据来看看。幻想不出来,


想了一下,其实用order by 就可以了
order by 和group by用法截然不同的哦,你确定你知道你要做什么了吗?
[其他解释]
呵呵,楼上想要的是排序
[其他解释]
我想问下,你tableA中出现了 TypeId 两个都是11,不唯一的情况下怎么关联?



[其他解释]
如果 4 类型8 11 78 78 = 4 类型8 78 78 78
下面就是你要的结果

select a.Id,a.Type1,a.TypeId,a.Type3,a.Type4,c.Number from dbo.TableA as a inner join dbo.TableC as c on a.Typeid=c.TypeId
order by a.Type1 desc
[其他解释]
楼主的问题太丝了。

读书人网 >SQL Server

热点推荐