Obtenir 2 lignes d'entête avec une requête sur SQL Server

Fermé
Orlili - 2 déc. 2020 à 18:52
 Orlili - 2 déc. 2020 à 22:42
Bonjour,

Je voudrais savoir si quelqu'un a une astuce pour obtenir 2 lignes d'entête dans le résultat d'une requête SQL.
Par exemple :
1ère ligne : name_client | ref_product | delivery_date
2ème ligne : nom_client | référence_produit | date_livraison
3ème ligne : données

Sachant que me requête comprend plusieurs select et des union et qu'il y a des colonnes en varchar, d'autres en numeric et d'autres en datetime...

Je travaille sur SQL Server Management Studio 18. J'ai essayé de mettre des alias de colonnes différents entre mes select mais seuls ceux du 1er select sont pris en compte.

Merci par avance de votre aide !

Configuration: Windows / Chrome 87.0.4280.66
A voir également:

2 réponses

jordane45 Messages postés 38263 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 28 octobre 2024 4 694
2 déc. 2020 à 19:13
Bonjour,

Déjà.. ta question concernant sqlserver, il aurait été bien de la poster dans le bon forum ( je la déplace de suite... attention à l'avenir ! )

Ensuite.. ben... non.... ta requête ne retournera toujours qu'une seule 'en-tête'....
Le principe de l' UNION, c'est de pouvoir requêter plusieurs tables en même temps et retourner UNE liste "fusionnée".


1
jee pee Messages postés 40391 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 30 octobre 2024 9 400
Modifié le 2 déc. 2020 à 19:24
Bonjour,

Si tu n'as que 3 champs tu peux faire, quelque chose comme :

select 'name_client', 'ref_product', 'delivery_date' 
union
select 'nom_client', 'référence_produit', 'date_livraison'
union
<ta requete originale>

et paramétrer une exécution sans affichage des entetes de colonnes
(avec Oracle ce serait un SET HEADER OFF)

Ou peut être
select 'name_client' as nom_client, 'ref_product' as référence_produit, 'delivery_date' as date_livraison
union
<ta requete originale>




1
Merci beaucoup pour vos réponses !
Jee Pee j'ai essayé ces syntaxes mais bizarrement cela ne fonctionne que si j'ai :
select noms_de_colonnes_anglais
union
select noms_de_colonnes_francais
union
ma_requete
Si j'ajoute :
union
suite_de_ma_requete
Cela met les noms de colonnes en-dessous de mes données. Or ma requête comprend plusieurs select union select.
En plus si je mets des varchar en 2ème ligne je suis obligée de changer le types de mes données qui devraient être en numeric et en datetime..
J'ai l'impression que Jordane45 a raison et que ma demande est impossible !
0