Select multiple
Résolu
PSud
Messages postés
1275
Date d'inscription
Statut
Membre
Dernière intervention
-
PSud Messages postés 1275 Date d'inscription Statut Membre Dernière intervention -
PSud Messages postés 1275 Date d'inscription Statut Membre Dernière intervention -
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
- Paris multiple 2/5 explication ✓ - 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
38486
Date d'inscription
Statut
Modérateur
Dernière intervention
4 752
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 )