IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Problème avec un UNION


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Problème avec un UNION
    Bonjour à tous,

    j'ai une table dans laquelle j'ai plusieurs champs dont le champ titre et titreChapitre.

    En sachant que titreChapitre peut être vide mais pas titre.
    J'ai une requête qui me permet d'ordonner simultanément tout ce que contiennent ces deux champs dans l'ordre alphabétique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT titre FROM Document 
    UNION 
    SELECT titreChapitre FROM Document 
    ORDER BY titre
    Cette requête fonctionne bien. Le problème est que j'aimerai récupérer également les autres informations de la table comme l'id ou encore la date d'ajout par exemple mais je ne sais pas comment récupérer ces informations à partir de la requête ci-dessus.

    Merci pour vos réponses !

  2. #2
    Membre expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Points : 3 066
    Points
    3 066
    Par défaut
    Bonjour,

    Je doute que cette fonctionne bien

    Si une ligne a à la fois un titre et un titreChapitre, vous récupérez l'ID et la date en double, une fois pour chaque titre ?

    C'est assez peu clair, donnez la structure de votre table, un jeu de données et le résultat attendu.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Voici la structure de ma table :
    id, titre, titreChapitre, côte, dateAjout
    Voici ce que qu'elle pourrai contenir :

    1, automne, test, 45e, 25/08/2012
    2, amande, message, 14d, 14/07/2012
    3, printemps, , 12e, 31/08/2012
    Avec la requête actuelle, je récupère seulement le titre et titreChapitre ordonné par ordre alphabétique, c'est à dire :
    amande, automne, message, printemps, test

    J'aimerai ne pas récupérer seulement ces informations mais également toutes les autres comme l'id, la côte et date d'ajout mais je ne sais pas quoi rajouter dans la requête.

    Pour résumer, cette table 'Document' peut contenir soit des livres, soit des articles de livre, soit des articles de journaux (ceci est défini dans une table 'Type').
    Si le type du document est chapitre de livre, sur le site j'affiche le titre du chapitre (titreChapitre), sinon j'affiche le titre.
    Sur le site, j'ai une option de tri par ordre alphabétique, le problème est que quand on consulte une page qui liste plusieurs documents, le titre du document peut être soit le champ 'titre', soit le champ 'titreChapitre' si le document est un chapitre de livre. C'est pour cela que j'ai fait une union, pour faire le tri alphabétique sur les deux champs simultanément.

    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    569
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2009
    Messages : 569
    Points : 1 046
    Points
    1 046
    Par défaut
    Bonjour,

    Une requête avec cette approche ne peut pas répondre à ta demande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT id, titre, titreChapitre, cote, dateAjout 
    FROM document
    ORDER BY titre, titreChapitre
    Tu peut également créer un colonne pour effectuer le tri
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id, titre, titreChapitre, cote, dateAjout,
     CASE WHEN titreChapitre = '' THEN titre ELSE titreChapitre END AS ColonneTri  
    FROM document
    ORDER BY ColonneTri
    Je n'ai fait aucun test

    Bon courage

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Super ! Ca fonctionne à merveille avec la seconde requête contenant une condition.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec Union (et Blob)
    Par ejaecker dans le forum InterBase
    Réponses: 5
    Dernier message: 02/09/2008, 16h51
  2. problème avec UNION SQL
    Par greg1517 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 06/05/2007, 19h46
  3. Problème avec UNION et Group by
    Par dujardin dans le forum Requêtes
    Réponses: 4
    Dernier message: 14/02/2007, 04h55
  4. problème avec order by et union
    Par ghostdog dans le forum Langage SQL
    Réponses: 8
    Dernier message: 23/05/2006, 09h54
  5. Problème avec UNION et WHERE
    Par portu dans le forum Langage SQL
    Réponses: 13
    Dernier message: 20/04/2005, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo