各位大侠好!请教各位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
谢谢各位了!
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
谢谢各位了!
from tb
group by 姓名
from tb1 join tb2 on tb1.姓名=tb2.姓名
group by 姓名
from tb
group by 姓名, 书籍单号
tb1 的数据没有全部出来,c没有显示?
能全都出来吗?
from tb1
left join tb2 on tb1.姓名=tb2.姓名
group by 姓名
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 行受影响)
*/