联合数据在2个表中具有不同的列

时间:2012-09-05 09:41:27

标签: mysql sql

我有两张表如下:

  • 第一个表名bkq:在此表中我有6列名为(etab-guib-nom-swift-data-dev)

  • 此表中的第二个表名bkdoscde我有超过15列,但我需要使用的是(ETAF-GUIF-ETAE-GUIE-ETAR-GUIR-ETAB-GUIB)所有这些列是与第一个表列中的数据联合:

    1. 在第二个表格的ETAF和ETAE以及ETAR和ETAB列中命名ETAB个类似的数据。

    2. 在第二个表的GUIF和GUIE以及GUIR和GUIB列中命名guib个类似的数据 我需要在表格1列之间显示的2个表之间的联合数据我说是相似的和表号2。

另一种方式,在表1中命名为(etab)的列具有在表2的列处使用的数据,其中以(Eta--)开头,并且名为(guib)的列具有表2中的列的数据,以( gui--)我需要从表1中提取数据,该数据显示在第1段中我提到的任何列。

我还需要在同一个查询中显示表1中的列(nom)和(swift),它们不在表2中

1 个答案:

答案 0 :(得分:2)

如果我理解正确,在第一个表[ bkq ]的6列中,只有两列将涉及UNION OPERATION viz etab,guib,因为它们对应于列{第二个表[ bkdoscde ]

e.g. Table BKQ(1st Table)              BKDOSCDE(2nd Table)
              etab                     ETAF
              etab                     ETAE 
              etab                     ETAR 
              etab                     ETAB 
              guib                     GUIF 
              guib                     GUIE 
              guib                     GUIR 
              guib                     GUIB

如果对我的理解是正确的,那么你去吧

Select etab,guib,etab,guib,etab,guib,etab,guib From bkq
Union
Select ETAF,GUIF,ETAE,GUIE,ETAR,GUIR,ETAB,GUIB from bkdoscde

<强>被修改

- 在联盟中添加了nom和swift列

Select etab,guib,etab,guib,etab,guib,etab,guib,nom,swift From bkq
Union
Select ETAF,GUIF,ETAE,GUIE,ETAR,GUIR,ETAB,GUIB,null,null from bkdoscde

希望这有帮助