Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/06/2011, 17h12   #1
Membre émérite
 
Homme
Inscription : décembre 2007
Messages : 749
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : décembre 2007
Messages : 749
Points : 946
Points : 946
Par défaut Une requête simple

bonjour,

je cherche une solution pour écrire une requête SQL toute simple (j'iamgine).

voici la table (j'ai omis volontairement la clé primaire)

Code :
1
2
3
4
5
6
7
champ1    champ2
======   ======
1            a
1            b
1            c
2            s
2            a
Je voudrais écrire une requête qui me renvoie les résultats suivants:

Code :
1
2
(1, a, b, c)
(2, s, a)
c'est à dire pour chaque valeur de la colonne champ1, la liste des valeurs de la colonne champ2 auxquels il est associé.

je suis un peu bloqué pour chercher des exemples sur le net, je ne sais pas trop quel mot clé rechercher

merci pour votre aide

P.S.: j'ai essayé d'isoler le problème, cette table est en quelque sorte le résultat d'une première requête SELECT et je cherche à construire une requête imbriquée).
kango est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 17h52   #2
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 432
Points : 10 432
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Ça dépend car votre présentation n'est pas claire.
Pour les mots clefs, c'est soit du PIVOT, soit du STRING AGGREGATION qu'il vous faut.

Il manque aussi une information dans vos données de départ, celle qui permet de trier l'ordre d’apparition de votre seconde colonne dans votre résultat final.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 19h21   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 954
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 954
Points : 17 774
Points : 17 774
Il n'existe AUCUNE solution à votre problème.
En effet, une table réponse se saurait avoir de temps à autres des lignes avec 3 colonnes et d'autres avec 2 colonnes.
Ceci est simplement de la cosmétique de données et n'a rien à faire en SQL ni sur aucun SGBDR.

A lire : http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L9

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 20h31   #4
Membre émérite
 
Homme
Inscription : décembre 2007
Messages : 749
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : décembre 2007
Messages : 749
Points : 946
Points : 946
merci, c'est très clair

je ne savais pas si ma question venait d'une méconnaissance du langage ou d'une impasse du langage. il s'agit en fait des deux

je ne voulais tout simplement pas passer à côté d'une fonctionnalité SQL, je peux tout à fait traiter le problème dans le code appelant.

merci encore
kango est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2011, 18h56   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
je ne savais pas si ma question venait d'une méconnaissance du langage ou d'une impasse du langage. il s'agit en fait des deux
NON, ce n'est pas un impasse du langage car ce serait une erreur de l'utiliser...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h08.


 
 
 
 
Partenaires

Hébergement Web