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

Orlili -  
 Orlili -
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

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  2. jee pee Messages postés 31890 Date d'inscription   Statut Modérateur Dernière intervention   9 983
     
    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
    1. Orlili
       
      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