Problème de jointure avec INNER JOIN et LEFT OUTER JOIN
Bonjour,
En passant mon site chez mon hébergeur , j'ai remarqué que leur version de mysql n'était pas la même que celle de mon easyphp et j'ai un petit problème dans la réécriture d'une requete.
Voila l'ancienne requête:
Code:
1 2 3 4 5 6 7 8 9 10
| SELECT bons_dossiers.siren, solde_total, solde_sp, solde_art40, `procedure`, envoi_huissier, montant, annee_echeance, prets_echus, prets_non_echus
FROM bons_dossiers, gestion_prets_non_echus
WHERE bons_dossiers.siren=gestion_prets_non_echus.siren
AND bons_dossiers.organisme=gestion_prets_non_echus.organisme
AND bons_dossiers_organisme = 'org'
AND bons_dossiers.archivage = 'Faux'
AND `procedure` <> 'rien'
AND bons_dossiers.siren NOT IN (
SELECT siren from gestion_reprise
WHERE date_envoi_mandataire <> '0000-00-00') |
Le résultat auquel je suis arrivé:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| SELECT bons_dossiers.siren, solde_total, solde_sp, solde_art40, `procedure` , envoi_huissier, montant, annee_echeance, prets_echus, prets_non_echus
FROM gestion_prets_non_echus
INNER JOIN bons_dossiers ON bons_dossiers.organisme = gestion_prets_non_echus.organisme
AND bons_dossiers.siren = gestion_prets_non_echus.siren
LEFT JOIN gestion_reprise
USING ( siren )
WHERE (
gestion_reprise.date_envoi_mandataire = '0000-00-00'
OR gestion_reprise.siren IS NULL
)
AND bons_dossiers.organisme = 'org'
AND bons_dossiers.archivage = 'Faux'
AND `procedure` <> 'rien' |
Problème la deuxième requête ne me renvoie pas le bon resultat.
clef des tables:
bons_dossiers : siren, organisme
gestion_reprise : siren
gestion_prets_non_echus: siren, organisme, annee
les relations entre les tables sont :
bons_dossiers et gestion_prets_non_echus sur siren et organisme
gestion_reprise et bons_dossiers sur siren
Voila pour mon problème si quelqu'un voit ou est l'erreur dans la deuxième requête, merci de m'éclairer