-1

表 A

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

typmodeに応じて2列表示したい

私が得るUNION ALLを使用して

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

このような表示が欲しいです。Addtion と Deduction はエイリアスです

| 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 に答える