Requête SQL
Résolu
FloAnt
-
FloAnt -
FloAnt -
Bonjour à tous,
Je suis étudiant en informatique et j'ai un projet à mener mais je rencontre une difficulté avec une requête. Je m'explique :
J'ai une table de résidence qui contient plusieurs informations. Pour faire simple il y a le nom de cette résidence ainsi que 3 colonnes représentant des financements (financement1, financement2 et financement3). Chaque colonne de financements est remplie avec un ID qui fais référence à la table financement.
Je veux donc afficher le nom de la résidence plus les 3 types de financement, mais je ne sais pas comment faire. J'avais penser faire les distinctions de ces 3 colonnes avec des alias mais ensuite je ne peux pas m'en servir dans ma clause WHERE.
Merci, Florian
Je suis étudiant en informatique et j'ai un projet à mener mais je rencontre une difficulté avec une requête. Je m'explique :
J'ai une table de résidence qui contient plusieurs informations. Pour faire simple il y a le nom de cette résidence ainsi que 3 colonnes représentant des financements (financement1, financement2 et financement3). Chaque colonne de financements est remplie avec un ID qui fais référence à la table financement.
Je veux donc afficher le nom de la résidence plus les 3 types de financement, mais je ne sais pas comment faire. J'avais penser faire les distinctions de ces 3 colonnes avec des alias mais ensuite je ne peux pas m'en servir dans ma clause WHERE.
Merci, Florian
A voir également:
- Requête SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Sql (+) - Forum Programmation
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
2 réponses
Salut Florian, moi c'est Florian
En admettant que tu veuilles les infos de la résidence numéro 1 (et que les colonnes contenant les noms s'appellent nom_residence /nom_financement)
SELECT nom_residence, f1.nom_financement AS financement_1, f2.nom_financement AS financement_2, f3.nom_financement AS financement_3
FROM residence
LEFT JOIN financement AS f1 ON residence.financement1 = f1.id
LEFT JOIN financement AS f2 ON residence.financement2 = f2.id
LEFT JOIN financement AS f3 ON residence.financement3 = f3.id
WHERE residence.id = 1
Si toutes tes résidences possèdent obligatoirement 3 financements, tu peux remplacer les LEFT JOIN par des INNER JOIN.
En admettant que tu veuilles les infos de la résidence numéro 1 (et que les colonnes contenant les noms s'appellent nom_residence /nom_financement)
SELECT nom_residence, f1.nom_financement AS financement_1, f2.nom_financement AS financement_2, f3.nom_financement AS financement_3
FROM residence
LEFT JOIN financement AS f1 ON residence.financement1 = f1.id
LEFT JOIN financement AS f2 ON residence.financement2 = f2.id
LEFT JOIN financement AS f3 ON residence.financement3 = f3.id
WHERE residence.id = 1
Si toutes tes résidences possèdent obligatoirement 3 financements, tu peux remplacer les LEFT JOIN par des INNER JOIN.