LEFT JOIN QUI NE MARCHE PAS
Résolu/Fermé
matmat8888
Messages postés
33
Date d'inscription
lundi 22 mai 2017
Statut
Membre
Dernière intervention
12 mars 2019
-
22 mai 2017 à 21:37
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 - 23 mai 2017 à 00:20
matmat8888 Messages postés 33 Date d'inscription lundi 22 mai 2017 Statut Membre Dernière intervention 12 mars 2019 - 23 mai 2017 à 00:20
A voir également:
- Left join plusieurs tables
- Tables des matieres - Guide
- Left shift clavier - Forum MacOS
- Tables ascii - Guide
- Cents = gettens(left(mid(mynumber, decimalplace + 1) & _ "00", 2)) ✓ - Forum Excel
- Germain veut gérer les activités de son association avec une base de données. il a commencé à créer des tables dans un fichier, mais il n’est pas sûr du résultat. le fichier à télécharger contient uniquement le schéma de cette base de données. en l’état actuel, que peut-on en déduire ? - Forum Outlook
4 réponses
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
22 mai 2017 à 22:35
22 mai 2017 à 22:35
voici tous ceux qui ne sont pas disponibles:
et donc je suggère ceci:
qu'en penses-tu?
select v.id FROM vehicule v, location_vehicule lv, location loc WHERE lv.id_location = loc.id AND v.id = lv.id_vehicule AND (loc.fin>="2017/05/25" AND loc.debut<="2017/05/26")
et donc je suggère ceci:
SELECT v.id, v.id_type_vehicule, tv.nom, tv.nom_en, tv.nom_de, tv.photo_url, tv.tarif_journalier FROM vehicule v LEFT JOIN type_vehicule tv ON v.id_type_vehicule = tv.id WHERE v.id NOT IN (select v.id FROM vehicule v, location_vehicule lv, location loc WHERE lv.id_location = loc.id AND v.id = lv.id_vehicule AND (loc.fin>="2017/05/25" AND loc.debut<="2017/05/26"))
qu'en penses-tu?
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
22 mai 2017 à 22:01
22 mai 2017 à 22:01
bonsoir mathieu,
je vois que tu as quatre tables: vehicule, location_vehicule, location et type_vehicule.
est-ce exact?
tu écris " elle me dit que il y a deux Clios de disponibles". peux-tu être plus précis? as-tu deux lignes avec le même Clio, ou bien une seule ligne avec qte=2?
tu écris "je boucle sur les commandes", qu'entends-tu précisément par cela?
as-tu des index uniques dans tes tables? lesquels?
je vois que tu as quatre tables: vehicule, location_vehicule, location et type_vehicule.
est-ce exact?
tu écris " elle me dit que il y a deux Clios de disponibles". peux-tu être plus précis? as-tu deux lignes avec le même Clio, ou bien une seule ligne avec qte=2?
tu écris "je boucle sur les commandes", qu'entends-tu précisément par cela?
as-tu des index uniques dans tes tables? lesquels?
yg_be
Messages postés
22698
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 avril 2024
1 471
22 mai 2017 à 22:11
22 mai 2017 à 22:11
au lieu de:
je suggère:
("2017/05/25" NOT BETWEEN loc.debut AND loc.fin) AND ("2017/05/26" NOT BETWEEN loc.debut and loc.fin)
je suggère:
(loc.fin<"2017/05/25" OR loc.debut>"2017/05/26")
matmat8888
Messages postés
33
Date d'inscription
lundi 22 mai 2017
Statut
Membre
Dernière intervention
12 mars 2019
22 mai 2017 à 23:11
22 mai 2017 à 23:11
merci je viens d'essayer et au fait ta condition est ok mais j'ai tout de même deux clios qui s'affichent car les deux commandes enregistrées vérifient les conditions... Si je rajoute une commande du 1 mai au 2 mai alors la requête va renvoyer 3... Est ce que tu vois mon soucis ? Merci ! :)
matmat8888
Messages postés
33
Date d'inscription
lundi 22 mai 2017
Statut
Membre
Dernière intervention
12 mars 2019
22 mai 2017 à 23:00
22 mai 2017 à 23:00
Bonjour yg_be,
merci pour ta réponse ! J'ai bien quatre tables avec dans chacune des id uniques. Ci-joint des screenshots.
Les véhicules sont numérotés de 1 à 13 et la Clio correspond au véhicule numéro 7 (véhicule de type 3).
Mon soucis est que je n'ai qu'une Clio et que ma requête me dit que j'en ai 2 car elle boucle sur les commandes et j'en ai que deux pour le moment mais si j'en avais 10 alors ma requête dirait que j'en ai 10 :(
Merci d'avance pour ton aide !
Mathieu
merci pour ta réponse ! J'ai bien quatre tables avec dans chacune des id uniques. Ci-joint des screenshots.
Les véhicules sont numérotés de 1 à 13 et la Clio correspond au véhicule numéro 7 (véhicule de type 3).
Mon soucis est que je n'ai qu'une Clio et que ma requête me dit que j'en ai 2 car elle boucle sur les commandes et j'en ai que deux pour le moment mais si j'en avais 10 alors ma requête dirait que j'en ai 10 :(
Merci d'avance pour ton aide !
Mathieu
23 mai 2017 à 00:20