Créer une vue pour trier une requete UNION ?
Bonjour et surtout très bonne année 2003 à tous !
Soit la requete suivante :
Code:
1 2 3
| select inc_nomprenom, inc_num1 AS num_tel from interlocuteurs where inc_num1 is not null
UNION
select inc_nomprenom, cast('-' as varchar(20)) AS num_tel from interlocuteurs where inc_num1 is null; |
qui, vous l'aviez deviné ;-), me permet d'obtenir une liste de personnes et de numéros de téléphones en remplaçant les valeurs null par des '-'.
Deux questions sur le sujet :
1) Pour trier cette requête par nom prénom, j'ai été contraint de créer une vue :
Code:
1 2 3 4
| create view annuaire (NomPrenom, Telephone) as
select inc_nomprenom, inc_num1 AS num_tel from interlocuteurs where inc_num1 is not null
UNION
select inc_nomprenom, cast('-' as varchar(20)) AS num_tel from interlocuteurs where inc_num1 is null; |
et de faire ensuite un
Code:
Select * from annuaire order by NomPrenom
Y'a t'il moyen de faire plus simple ?
2) Je n'ai pas trouvé le moyen d'écrire un seul Select (sinon le problème ne se poserait pas) pour transformer les valeurs nulles de ma colonne 'INC_NUM1' en '-'. Le 'When ... then ... end case' n'existe pas avec Interbase ?
Merci d'avance pour votre aide !
Re: Créer une vue pour trier une requete UNION ?
tu peux faire une procedure stoquée sinon...