当前位置: 代码迷 >> Sql Server >> 求大神MSSQL查询语句解决思路
  详细解决方案

求大神MSSQL查询语句解决思路

热度:41   发布时间:2016-04-24 08:57:27.0
求大神MSSQL查询语句
两张表,
A表为主体表
ID(自增长)
ClientName

B表为主体表的细表
ID (自增长)
JoinID (外链关联到A表的ID)
ProductName 
Count  
例B表的数据为
1     1     大白菜      10
2     1     大白菜        5
3     1    西红杭        20
4     1    黄瓜            5
5     2   大黄鱼         10
A表数据库
1        桥头蔬菜点  
2        北关水产站
求大神能否一条SQL语句显示出(例如查询出A表主键为1的数量合计)

ID      ClientName                   SumCount
1        桥头蔬菜点                      40
将B表关联到A表的数据进行相加并能显示出
------解决思路----------------------
SELECT A.ID,A.ClientName,SUM(B.Count)
FROM A  
LEFT JOIN B  ON A.ID=B.JoinID
GROUP BY A.ID,A.ClientName

------解决思路----------------------

SELECT T0.ID,T0.ClientName,sum(t1.Count) SumCount
FROM A T0 LEFT JOIN B T1
ON A.ID=B.JoinID
GROUP BY A.ID,A.ClientName

------解决思路----------------------
create table #A
(
ID INT IDENTITY(1,1),
ClientName VARCHAR(50)
)
INSERT INTO #A VALUES 
('桥头蔬菜点'),
('北关水产站')

CREATE TABLE #B
(
ID int IDENTITY(1,1),
JoinID int,
ProductName varchar(50), 
Counts int
)

insert into #B values
(1,'大白菜',10),
(1,'大白菜',5),
(1,'西红杭',20),
(1,'黄瓜',5),
(2,'大黄鱼',10)

SELECT a.ID,a.ClientName,SUM(b.Counts) as SumCount
FROM #A a
JOIN #B b on a.ID=b.JoinID
group by a.ID,a.ClientName

/*
ID          ClientName                                         SumCount
----------- -------------------------------------------------- -----------
1           桥头蔬菜点                                              40
2           北关水产站                                              10

(2 行受影响)
*/
  相关解决方案