日期:2014-05-17  浏览次数:20529 次

两表关联的问题
有A表如下:

color size qty
red xs 1
red s 2
red m 3
red l 4
red xl 5
red xxl 6
black xs 7
black s 8
black m 9
bule xs 10
bule s 11
bule m 12
bule l 13
bule xl 14

B表如下:

color size qty
red xs 1
red s 2
red m 3
black xs 7
black s 8
black m 9

将两表关联,条件是量表的color、size相同,然后用B的qty减去A的qty,但是希望B表中没有A表的color、size也显示出来,但是不要用NULL来显示。
希望效果:

color size qty
red xs 0
red s 0
red m 0
black xs 0
black s 0
black m 0
red l -4
red xl -5
red xxl -6
bule xs -10
bule s -11
bule m -12
bule l -13
bule xl -14

也就是说color、size那里,A表是什么就是什么,请大家不吝赐教,多谢了!
------解决方案--------------------

select a.color,
       a.[size],
       (isnull(b.qty,0)-a.qty) as qty
from a a left join b b 
on a.color=b.color and a.size=b.size