请教一个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 姓名, 书籍单号
[解决办法]
[解决办法]
- 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 行受影响) */