2017-09-22 1 views
0

J'ai une table flats avec une seule colonne flat_no avec des valeurs commeComment afficher une seule colonne Valeur dans les colonnes multiples avec Fractionnement

table flats 

flat_no 
101 
102 
103 
104 
105 
    . 
    . 
    . so on 
200 

dans le tableau ci-dessus j'ai flat_no 101 à 200, donc ici, je veux juste diviser les valeurs de colonne flat_no en 2 parties et les afficher dans 2 colonnes.

je besoin de quelque chose de sortie prévue comme

c1  c2 
101  151 
102  152 
103  153 
.   . 
.   . 
. so on . so on 
150  200 

J'ai écrit une requête pour obtenir ce scénario, mais incapable d'obtenir la sortie exacte

select rownum, (case when rownum<=50 then flat_no else 0 end) c1, 
    (case when rownum >50 then flat_no else 0 end) c2 from flats 

Répondre

0

quelque chose comme cela se fait avec moi rejoindre comme donc:

select * from flats f1 join flats f2 on f1.flat_no + 50 = f2.flat_no; 

Dans votre cas, vous pouvez simplement ajouter 50 à la même colonne sans d jointure:

select flat_no, flat_no + 50 from flats where flat_no <= 150;