关于两个表合并,DELPHI5.0+MS SQL SERVER7.0(100分)

  • 主题发起人 主题发起人 seeme0526
  • 开始时间 开始时间
S

seeme0526

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个表A 和 B,想把它们的数据合并,结构如下:(*为主键)
A:cl_bm char(7) *
cl_dw char(7) *
cl_kc dec(9,3)
---------------------------
B:cl_bm char(7) *
cl_dw char(7) *
cl_kc dec(9,3)
---------------------------
C:wzbm char(7)*
wzmc varchar(30)
ggxh varchar(30)
jldw char(6)
---------------------------
SELECT C.WZBM AS WZBM,A.CL_DW AS DW_A,A.CL_KC AS KC_A,B.CL_DW AS DW_B,B.CL_KC AS KC_B
INTO #TMP_CL
FROM A RIGHT JOIN C ON A.CL_BM=C.WZBM
LEFT JOIN B ON B.CL_BM=C.WZBM
SELECT * FROM #TMP_CL
结果为:
WZBM DW_A KC_A DW_B KC_B
0001 SC 10 NULL NULL
0002 CQ 10 SC 10
0003 CQ 10 CQ 10
0004 NULL NULL SC 10
我需要的结果为:
WZBM DW KC
0001 SC 10
0002 CQ 10
0002 SC 10
0003 CQ 20
0004 SC 10
 
请把a,b.c表的内容写出来
 
你是不是先把a,b 表联合起来
 
to zhengzhijia 就是要把A和B联合起来,内容如下:
A:
cl_bm cl_dw cl_kc
0001 sc 10
0002 cq 10
0003 cq 10
B:
cl_bm cl_dw cl_kc
0002 sc 10
0003 cq 10
0004 sc 10
to ziyu ???
 
C:
wzbm wzmc ggxh jldw
0001 线材 φ10 Kg
0002 线材 φ12 Kg
0003 线材 φ14 Kg
0004 线材 φ18 Kg
 
SELECT * FROM
C LEFT JOIN (SELECT * FROM A UNION
SELECT * FROM B) AB
ON C.WZBM=AB.WZBM
*内容自己替换一下
 
先聯合A,B嘛
 
to pclover :
请具体一些好吗?
 
SELECT C.wzbm,AB.cl_dw,AB.cl_kc FROM
C LEFT JOIN (SELECT cl_bm,cl_bm,cl_dw FROM A UNION
SELECT cl_bm,cl_bm,cl_dw FROM B) AB
ON C.WZBM=AB.cl_bm

明白原理比知道代码更有用处。
 
pclover的正确
 
后退
顶部