3

私は国のリストを持っています

SELECT * FROM COUNTRIES

COUNTRY
--------------
Austria
Belarus
Belgium
Finland
France
Iceland
Ireland
Switzerland

これを2列として選択するにはどうすればよいですか

COLUMN1          COLUMN2
-------          -------
Austria          Belarus
Belgium          Finland
France           Iceland
Ireland          Switzerland

ありがとう。

4

3 に答える 3

5
select country, next_country
from 
  (select country, 
         lead(country) over (order by country) next_country,
         row_number() over (order by country) rnk
   from countries
  ) 
where mod(rnk,2)=1;
于 2013-03-08T12:01:47.070 に答える
3
select 
  max(case mod(rownum - 1, 2) when 0 then country end) column1,
  max(case mod(rownum - 1, 2) when 1 then country end) column2
from countries
group by floor((rownum - 1) / 2)
order by floor((rownum - 1) / 2)
于 2013-03-08T12:18:58.543 に答える
0

サブクエリファクタリングを使用してこれを達成できると思います

サンプルクエリ

WITH 
   countrycolumn1 AS (
      SELECT * FROM COUNTRIES where COUNTRY='some condition'),
   countrycolumn2 AS (
      SELECT * FROM COUNTRIES COUNTRY='some condition' )
   SELECT col1.country as COLUMN1  , col2.country as COLUMN2 
  FROM countrycolumn1 col1,countrycolumn2 col2
   WHERE col1.countrytype == col2 .countrytype
于 2013-03-08T12:15:25.030 に答える