2

t値を持つテーブルがあります

+------+------+------+
| col1 | col2 | col3 |
+------+------+------+  
|    1 |    2 | x    |
|    1 |    3 | x    |
|    1 |    4 | x    |
|    2 |    1 | x    |
|    2 |    3 | x    |
|    2 |    4 | x    |
+------+------+------+

この結果が必要です:

+------+------+------+
| col1 | col2 | col3 |
+------+------+------+  
|    1 |    2 | x    |
|    1 |    3 | x    |
|    1 |    4 | x    |
|    2 |    3 | x    |
|    2 |    4 | x    |
+------+------+------+

注 (1,2) は (2,1) と同じです

4

1 に答える 1

2

句を使用するにはDISTINCT、最初の 2 つの列を手動で並べ替える必要があります。

SELECT DISTINCT
    CASE WHEN (col1 < col2) THEN col1 else col2 END AS Col1,
    CASE WHEN (col1 < col2) THEN col2 else col1 END AS Col2,
    col3
FROM t

このSQLFiddleを参照してください

于 2012-09-24T07:36:20.937 に答える