Select multiple
Résolu
PSud
Messages postés
1385
Statut
Membre
-
PSud Messages postés 1385 Statut Membre -
PSud Messages postés 1385 Statut Membre -
Bonjour les spécialistes du SQL,
J'essaye sans succès de faire une sélection sur les deux tables suivantes :
TableA (id, nom, prénom)
TableB (user_id, nom_du_champ, valeur_du_champ)
la liaison entre les deux tables se fait via id et user_id
Tous les champs sont en texte sauf id et user_id
Si dans nom_du_champ on a Ville, alors valeur_du_champ contient le nom de la ville
Si dans nom_du_champ on a Code-postal, alors valeur_du_champ contient le code postal de la ville
Si je fais :
Select nom, prénom
From TableA
Inner Join
TableB On user_id = id
Where valeur_du_champ = "Ville"
Union
Select nom, prénom
From TableA
Inner Join TableB On user_id = id
Where valeur_du_champ = "Code-postal"
Je ramène bien toutes les informations mais j'ai deux lignes par id or je ne voudrais avoir qu'une seule ligne par id.
Ça ne doit pas être compliqué mais ma connaissance du SQL date de longtemps :-)
Merci d'avance à celui ou celle qui me trouvera la bonne commande.
Cldt
J'essaye sans succès de faire une sélection sur les deux tables suivantes :
TableA (id, nom, prénom)
TableB (user_id, nom_du_champ, valeur_du_champ)
la liaison entre les deux tables se fait via id et user_id
Tous les champs sont en texte sauf id et user_id
Si dans nom_du_champ on a Ville, alors valeur_du_champ contient le nom de la ville
Si dans nom_du_champ on a Code-postal, alors valeur_du_champ contient le code postal de la ville
Si je fais :
Select nom, prénom
From TableA
Inner Join
TableB On user_id = id
Where valeur_du_champ = "Ville"
Union
Select nom, prénom
From TableA
Inner Join TableB On user_id = id
Where valeur_du_champ = "Code-postal"
Je ramène bien toutes les informations mais j'ai deux lignes par id or je ne voudrais avoir qu'une seule ligne par id.
Ça ne doit pas être compliqué mais ma connaissance du SQL date de longtemps :-)
Merci d'avance à celui ou celle qui me trouvera la bonne commande.
Cldt
A voir également:
- Mysql multiple select
- Paris multiple 2/6 explication ✓ - Forum Loisirs / Divertissements
- Please select boot device ✓ - Forum BIOS
- Pari multiple 2/5 explications ✓ - Forum Loisirs / Divertissements
- Ecran multiple pc - Guide
- Excel cellule choix multiple - Guide
6 réponses
Bonjour,
SELECT nom,prenom, TB.valeur_du_champ FROM TableA TA LEFT JOIN TableB TB ON TB.user_id = TA.id WHERE nom_du_champ = "Ville" OR nom_du_champ = "Code-postal"
jordane45
Messages postés
40050
Statut
Modérateur
4 754
NB: J'ai écrit "prénom" sans accent.... car il faut éviter de nommer des champs de ta bdd avec des accents ou des caractères spéciaux. (cela est valable également avec le nommage des variables dans ton code )