|
本帖最后由 Lily_123 于 2011-8-25 11:56 编辑
表A (A3都为空,a1+a2 为唯一)
A1 A2 A3
208001 13128-81
208002 1371-69
208003 02135-92
208003 1235-92
208003 255-86
表B
B1 B2 B3 颜色 数量
208001 13128-81 62180 黑色 1008
208001 13128-81 62180 棕色 600
208001 13128-81 62180 驼色 480
208002 1371-69 62151 黑色 792
208002 1371-69 62151 棕色 792
208004 13121-61 62189 黑色 768
208004 13121-61 62189 棕色 768
208005 13113-95 62186 黑色 768
208005 13113-95 62186 棕色 768
208006 13110B-65 62609 黑色 1560
208006 13110B-65 62609 棕色 1536
208006 13110B-65 62609 土黄 1032
208007 13132-91 62133 黑色 1248
208007 13132-91 62133 棕色 768
208008 0379-15 62137 黑色 1248
208008 0379-15 62137 棕色 768
208010 1332-88 62215 黑色 696
208010 1332-88 62215 棕色 696
我想由这两个表得到
A1 A2 B3 颜色 数量 数量123
208001 13128-81 62180 黑色 1008 2088
208001 13128-81 62180 棕色 600 0
208001 13128-81 62180 驼色 480 0
208002 1371-69 62151 黑色 792 1584
208002 1371-69 62151 棕色 792 0
208003 02135-92 null
208003 1235-92 null
208003 255-86 null
也就是说A表为基础,数量123 为A表中同一(A1+A2)颜色的总数——就一组里面第一个是,其它为0
如果在B表中没有A1和A2组的,数量123为NULL
我用left join 那个sum 和group by加进去不是这里错,就是那里错
没办法通过编译,想知道为什么,不知道哪位高手能指点一下,非常感激
|
|