我有3个表,并希望从2个表中获取数据并将其转储到第三个表。这两个表格可以具有相互关联的数据和独立数据。所以,我想要得到所有3种可能场景的结合。在MySQL中嵌套的联合声明
的3个不同的表是a,b和c
示例查询:
Insert into c (scode, cname, fvalue, ISIN, nsymbol, paidup)
select scode, cname, fvalue, ISIN, null, null from a,b where a.ISIN <> b.ISIN
union
select scode, cname, fvalue, ISIN, nsymbol, paidup from a,b where a.ISIN = b.ISIN
union
select null, b.cname, b.fvalue, b.ISIN, b.nsymbol, b.paidup from a, b where b.ISIN <> a.ISIN
我得到插入每个记录3行,其中欲被插入仅1记录。任何帮助将不胜感激。
我在寻找类似下面
表A
SCODE CNAME F值ISIN
FB,脸谱,10,INAB13230LL IBM,国际商业机器,10,INAB13230AB
表B
nsymbol cname fvalue ISIN paidup
FBOOK,脸谱,10 INAB13230LL,10 MSFT,微软,10,INAB13230MS,10
表C
SCODE CNAME F值ISIN nsymbol paidup
FB,脸谱,10,INAB13230LL,FBOOK ,10 IBM,国际商业机器,10,INAB13230AB,NULL,NULL 空,微软,10,INAB13230MS,MSFT,提前10个
感谢。
需要查看一些示例数据。但是,您似乎会为每个项目返回3个不同的行。可能你需要的是确定你想要返回哪一个。这可能需要有一个子查询才能获得最重要的记录,然后加入到当前的select中以获取其余的值 – Kickstart
表AFB,Facebook,10,INAB13230LL IBM,International Business Machines,10,INAB13230ABFBOOK,10 FBOOK,脸谱,10 INAB13230LL,10 – user2721022
我在寻找类似下面 表A SCODE CNAME F值ISIN FB,脸谱,10,INAB13230LL IBM,国际商业机器, 10,INAB13230AB 表B nsymbol CNAME F值ISIN paidup FBOOK,脸谱,10 INAB13230LL,10 MSFT,微软,10,INAB13230MS,10 表C SCODE CNAME fintue ISIN nsymbol paidup FB,Fa cebook,10,INAB13230LL,FBOOK,10 IBM,国际商业机器,10,INAB13230AB,NULL,NULL 空,微软,10,INAB13230MS,MSFT,10 – user2721022