Order by dans un Insert into
Bonjour, je copie/colle mon message issu d'une autre ancienne discussion que je voulais relancer, mes étant donné le fait qu'elle se situe dans un forum POSTGRESQL et que moi j'utilise oracle ... je me permet de poser la question ici :
Citation:
Envoyé par
Arvulis
Sinon tu peux créer une vue intermediaire avec cet ordre :) et ensuite faire un insert select de la vue.;)
Bonjour, désolé de remonter cet ancien topic, mais la réponse me paraît finalement incomplète.
j'aimerais créer une table à partir de plusieurs autres tables sans y copier les données des tables, puis ajouter les données des dites tables ordonnées selon une colonne.
Voici ma requête :
Code:
1 2 3 4 5 6 7 8 9 10 11
| create table agentsinfotarget
as
(select code_name, information_id, gleaned_date, t.first_name,t.last_name, l.description
from agents a
inner join information i
on a.agent_id= i.agent_id
inner join targets t
on i.target_id=t.target_id
inner join locations l
on t.location_id=l.location_id
where 1=2 ) |
Etant donné que les colonnes sont vides, les inner joins ne sont pas utiles mais c'est juste pour la démarche intellectuelle ...
Ensuite pour ajouter les données dans ma nouvelle table :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| --Insert all data from the appropriate tables. Data should be ordered by CODE_NAME in reverse alphabetical orde
Insert into agentsinfotarget
(code_name, information_id, gleaned_date, first_name, last_name, description)
select code_name, information_id, gleaned_date,first_name,last_name, description
from
(select code_name, information_id, gleaned_date, t.first_name,t.last_name, l.description
from agents a
inner join information i
on a.agent_id= i.agent_id
inner join targets t
on i.target_id=t.target_id
inner join locations l
on t.location_id=l.location_id
order by code_name desc
) |
Cependant ensuite, en checkant avec un select * from agentsinfotarget, je vois que les données n'ont pas été ajoutées de façon ordonnées ...
Ferais-je une erreur où es-ce impossible de spécifier un ordre d'ajout?
Merci d'avance.
F.