在mysql中连接两列

时间:2018-04-02 07:44:16

标签: mysql

SELECT ISS.fdIssuerId as ID
,rpad(concat(ISS.fdIssuerName, '-', ISS.fdType),20,' ') as Symbol
,concat(LPAD('Group-',10,' '), ifnull(GRP.fdgroupName, '')) as groups
,concat(rpad(concat(ISS.fdIssuerName, '-', ISS.fdType),20,' 
'),concat(LPAD('Group-',10,' '), ifnull(GRP.fdgroupName, ''))) as asdf
FROM tbissuer ISS
LEFT JOIN tbgroupissuermapping IGM ON IGM.fdIssuerId = ISS.fdIssuerId
LEFT JOIN tbgroup GRP ON GRP.fdGroupId = IGM.fdGroupId
Order by  Symbol asc;

这个命令给我的结果如图Show picture

但是我想在第三列名为'asdf'的情况下连接'symbol'和'group'列,但是如果你看到它会给我分散的记录,我想在结果中同等地对齐关键字'group'。 / p>

2 个答案:

答案 0 :(得分:0)

可能是而不是固定20 char il rpad
你需要20 - 长度(连续(LPAD('组 - ',10,''),ifnull(GRP.fdgroupName,'')))

SELECT ISS.fdIssuerId as ID
      ,rpad(concat(ISS.fdIssuerName, '-', ISS.fdType),20,' ') as Symbol
      ,concat(LPAD('Group-',10,' '), ifnull(GRP.fdgroupName, '')) as groups
      ,concat(rpad(concat(ISS.fdIssuerName, '-', ISS.fdType),
         20- length(concat(LPAD('Group-',10,' '), ifnull(GRP.fdgroupName, ''))),' ') 
            ,concat(LPAD('Group-',10,' '), ifnull(GRP.fdgroupName, ''))) as asdf
  FROM tbissuer ISS
  LEFT JOIN tbgroupissuermapping IGM ON IGM.fdIssuerId = ISS.fdIssuerId
  LEFT JOIN tbgroup GRP ON GRP.fdGroupId = IGM.fdGroupId
  Order by  Symbol asc;

答案 1 :(得分:0)

请在链接中查看我的实际结果

Picture

我的预期结果应该是这样的

20MICRONS-EQ    Group-AA 3IINFOTECH-EQ    Group-AA 3MINDIA-EQ      Group-AA 5PAISA-EQ        Group-A3 63MOONS-EQ       Group-A3 8KMILES-EQ      Group- A2ZINFRA-EQ      Group-