8797 sujets

Développement web côté serveur, CMS

Bonjour à tous Smiley smile

J'ai un petit problème avec MySQL. En fait, pour simplifier, j'ai deux tables, une "factures" et une "clients". La première contient "id_client, reference, date_suppression". La seconde, "id_client, date_suppression". Je souhaiterais donc sélectionner toutes les factures en prenant soin que le client n'a pas été supprimé. J'ai pensé aux jointures, mais c'est pas très concluant car ça me retourne certaines factures en plusieurs fois. Je sais que c'est une requête simple mais je dois m'emmêler pour rien >_<
Voici ma requête :

SELECT T1.id_client, T1.id_reference FROM factures T1 LEFT JOIN clients T2 ON T1.id_client = T2.id_client WHERE T1.date_suppression IS NULL AND T2.date_suppression IS NULL


Merci d'avance Smiley smile
Modifié par Gaylord.P (31 Oct 2011 - 11:42)
difficile de t'aider, donne nous la structure entiere de tes tables , car je ne vois pas l'interet d'une date suppression dans facture... à moins que celle ci représente le fait qu'elle soit payé ??

sinon je ne vois pas vraiment de problème hormis peut etre pour les champs par défaut s'il ont pas plus des 0000/00/00 que null , sinon si les résultats sont tous correctes mais seulement en double tu peux faire un distinct sur l'id de la facture. çà contourne le problème de double, mais a vérifier s'il y a bien tous les résultat attendus, ni en trop , ni en moins !
Modifié par mini-truc (31 Oct 2011 - 10:29)
salut,

comme ça je vois pas l'erreur. enfin je suis rouillé en sql.

peut-être as tu trop simplifier la structure de table que tu nous presente?

quand je fais une requete et que j'ai doublons, j'allonge le select ( si je puis m'exprimer ainsi )
avec un t1.*,t2.* dans le select tu dois pouvoir si 2 lignes en doublons sont pareils sur tous les champs ou s'il y a des différences.

il me semble que s'il sont tous pareils c'est mort t'as des doublons dans une table.
et si tu as des champs qui different tu peux t'en servir pour faire le distingo. en deduire une jointure qui manque
J'ai effectivement trop simplifié mon exemple et en y réfléchissant un peu plus, je me suis rendu compte de mon erreur ; c'était un simple oublie, désolé. Smiley confused