A表
----------------------------
物品ID | 月别1 | 数量1 | 月别2 | 数量2 | 月别3 | 数量3B表
----------------------------
物品ID | 物品名称
AAA | 物品1
C表
----------------------------
物品ID | 月别 | 数量
AAA | 1 | 300
AAA | 2 | 500
AAA | 3 | 600这样的三张表,我想把B,C表中的数据检索出来放到A表中,
-------------------------------
物品ID | 月别1 | 数量1 | 月别2 | 数量2 | 月别3 | 数量3
AAA | 1 | 300 | 2 | 500 | 3 | 600
-------------------------------
应该怎样写?一条SQL可以搞定么?
----------------------------
物品ID | 月别1 | 数量1 | 月别2 | 数量2 | 月别3 | 数量3B表
----------------------------
物品ID | 物品名称
AAA | 物品1
C表
----------------------------
物品ID | 月别 | 数量
AAA | 1 | 300
AAA | 2 | 500
AAA | 3 | 600这样的三张表,我想把B,C表中的数据检索出来放到A表中,
-------------------------------
物品ID | 月别1 | 数量1 | 月别2 | 数量2 | 月别3 | 数量3
AAA | 1 | 300 | 2 | 500 | 3 | 600
-------------------------------
应该怎样写?一条SQL可以搞定么?
如果月份列数是固定的,可以试试,
INSERT INTO A
SELECT D.ID,SUM(DECODE(D.MON,'1',COU,NULL)) "月别1",
SUM(DECODE(D.MON,'2',COU,NULL)) "月别2",
SUM(DECODE(D.MON,'3',COU,NULL)) "月别3"
FROM
(select C.ID AS ID,C.月别 AS MON,C.数量 AS COU
from C WHERE C.ID IN (SELECT B.ID FROM B)) D
GROUP BY D.ID如果月份是不固定的,则考虑用过程