首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问一个SQL句子

2012-11-03 
请教一个SQL句子各位大侠好!请教各位SQL语句!表1:姓名年龄a21b22c33表2:姓名书籍单号书籍数量a12122a3345b

请教一个SQL句子
各位大侠好!

请教各位SQL语句!

表1:

姓名 年龄
a 21
b 22
c 33

表2:

姓名 书籍单号 书籍数量
a 1212 2
a 334 5
b 335 1
a 2388 9

请问:
怎么得到以下内容:

姓名 单号数量 书籍数量
a 3 16
b 1 1
c 0 0


谢谢各位了!

[解决办法]
select tb1.姓名,count(书籍单号),sum(书籍数量)
from tb1 join tb2 on tb1.姓名=tb2.姓名
group by 姓名
[解决办法]
select 姓名,count(*),sum(书籍数量)
from tb
group by 姓名, 书籍单号
[解决办法]

探讨

引用:

select tb1.姓名,count(书籍单号),sum(书籍数量)
from tb1 join tb2 on tb1.姓名=tb2.姓名
group by 姓名


tb1 的数据没有全部出来,c没有显示?
能全都出来吗?

[解决办法]
SQL code
CREATE TABLE A(姓名 VARCHAR(10), 年龄 INT ) INSERT INTO A SELECT 'a', 21 UNION ALL  SELECT 'b', 22 UNION ALL  SELECT 'c', 33  CREATE TABLE B(姓名 VARCHAR(10),  书籍单号  VARCHAR(10), 书籍数量 INT ) INSERT INTO B SELECT 'a', '1212', 2 UNION ALL  SELECT 'a', '334', 5 UNION ALL  SELECT 'b', '335', 1 UNION ALL  SELECT 'a', '2388', 9      SELECT a.姓名,COUNT(书籍单号)单号数量,ISNULL(SUM(书籍数量),0)书籍数量 FROM a LEFT JOIN b ON a.姓名=b.姓名 GROUP BY a.姓名  /* 姓名         单号数量        书籍数量 ---------- ----------- ----------- a          3           16 b          1           1 c          0           0 警告: 聚合或其他 SET 操作消除了 Null 值。  (3 行受影响)   */ 

热点排行