-1

表 A

| SLNO | TYPENAME | TYPEMODE |
------------------------------
|    1 |  Act.Alw |        A |
|    2 |  Canteen |        D |

我想根据它的 typmode 显示两列

使用 UNION ALL 我得到

| Addition | Deduction |
------------------------
| Act.Alw  |           |
|          |  Canteen  |

我想要这样的显示。加减法是别名

| ADDITION | DEDUCTION |
------------------------
|  Act.Alw |   Canteen |
4

2 回答 2

0

您可以CASE为此使用语句。要对它们进行分组,您需要使用GROUP_CONCAT如下函数:

SELECT GROUP_CONCAT(CASE WHEN typemode = 'A' 
             THEN typename ELSE NULL END) AS Addition
      ,GROUP_CONCAT(CASE WHEN typemode = 'D' 
              THEN typename ELSE NULL END) AS Deduction
FROM Table1

输出:

| ADDITION | DEDUCTION |
------------------------
|  Act.Alw |   Canteen |

看到这个 SQLFiddle

于 2013-04-20T06:46:56.550 回答
0

看起来您需要使用联接而不是联合。但是,如果您可以多解释一下您要完成的工作,并可能发布您当前尝试运行的 sql 查询,那将会很有帮助。

于 2012-07-31T07:21:59.327 回答