Problème de jointure entre deux tables requête SQL

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par julien__, 11 Avril 2011.

  1. julien__
    julien__ WRInaute occasionnel
    Inscrit:
    28 Décembre 2006
    Messages:
    271
    J'aime reçus:
    0
    Bonjour, j'ai un problème pour une requête SQL avec une jointure. Je dois récupéré l'emplacement d'images sur une autre table. J'ai une référence de produit qui est dans la base1 base1.affiches qui se trouve être base2.urlaffiche dans l'autre table, et le colonne que je dois récupérer dans la base 2 est base2.urlimage


    SELECT base1.id,base1.titre,base1.sortie1,base1.affiches,base2.urlimage FROM base1,base2 WHERE base1.sortie1a=EXTRACT(YEAR FROM NOW()) AND base1.sortie1m=(EXTRACT(MONTH FROM NOW())) AND base1.affiches = base2.urlaffiche ORDER BY sortie1a DESC,sortie1m DESC,sortie1j DESC LIMIT 6

    Cette requête fonctionne, seulement elle me sort seulement les enregistrement de la base 1 qui ont une référence dans la base2, alors qu'il me faudrait une requête qui me trouve les enregistrement qui ont des références dans la base 2 mais aussi ceux de la base 1 qui n'en n'ont pas selon la requête WHERE base1.sortie1a=EXTRACT(YEAR FROM NOW()) AND base1.sortie1m=(EXTRACT(MONTH FROM NOW())) !
     
  2. silef
    silef WRInaute occasionnel
    Inscrit:
    13 Janvier 2006
    Messages:
    296
    J'aime reçus:
    0
    Tu devrais essayer un truc du genre :

    Code:
    SELECT base1.id,base1.titre,base1.sortie1,base1.affiches,base2.urlimage 
    FROM base1
    LEFT JOIN base2 ON base1.affiches = base2.urlaffiche 
    WHERE base1.sortie1a=EXTRACT(YEAR FROM NOW()) AND base1.sortie1m=(EXTRACT(MONTH FROM NOW()))  ORDER BY sortie1a DESC,sortie1m DESC,sortie1j DESC LIMIT 6
     
  3. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Rien à voir mais en passant :
    à ta place je virerais les champs sortie1a et sortie1m pour un seul champs unique contenant "année + mois".
    A la place de l'extract j'utiliserais aussi la fonction date() de PHP ou alors un LTRIM.
    Edit: ou alors les :
    Code:
    SELECT MONTH(NOW());
    SELECT YEAR(NOW());
     
  4. julien__
    julien__ WRInaute occasionnel
    Inscrit:
    28 Décembre 2006
    Messages:
    271
    J'aime reçus:
    0
    Merci silef,

    c'est exactement ça, ça me donne le résultat que je voulais... Un grand merci, il n'y avait rien à changer!
     
  5. julien__
    julien__ WRInaute occasionnel
    Inscrit:
    28 Décembre 2006
    Messages:
    271
    J'aime reçus:
    0
    le champ avec la date entière je l'ai déjà dans ma base, mais le drame c'est qu'elle n'est pas au format date mysql, mais c'est un champ TEXT
    Il faut que je fasse la transformation, mais prudente :D avec un champ provisoire et surtout bien contrôler l'intégrité des données après le changement avant de basculer... Dans mon champ date au format texte j'ai de tout, des dates où il y a que l'année, année + mois ou année moi jour... je ne veux surtout pas bousiller mes dates...
     
  6. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Je pense que tu gagnerais pas mal avec un champ INT(6) style YYYYMM.
    Ca ferait des bonnes perfs et ça conservait les classements.
    Pour ne rien perdre il faudra créer un champs temporaire le temps que tu majs tes scripts mais après ça devrait aller vite.
     
  7. julien__
    julien__ WRInaute occasionnel
    Inscrit:
    28 Décembre 2006
    Messages:
    271
    J'aime reçus:
    0
    Yes c'est dans mes projets, merci pour tous vos conseils...
     
Chargement...
Similar Threads - Problème jointure tables Forum Date
Problème en Les Jointure Développement d'un site Web ou d'une appli mobile 14 Mai 2014
problème de jointure Débuter en référencement 20 Décembre 2012
Jointure sql problème inner join Développement d'un site Web ou d'une appli mobile 4 Mai 2010
Problème de trafic incorrect (plus de 3000€) / RPM à 35€ AdSense Aujourd'hui à 17:27
Problèmes d'indexations de Google Crawl et indexation Google, sitemaps Lundi à 12:10
Problème d'indexation pour de nombreuses pages Débuter en référencement 10 Octobre 2020
Microdonnées : problème avec product Débuter en référencement 6 Octobre 2020
Probléme de texte gras, code HTML Demandes d'avis et de conseils sur vos sites 5 Octobre 2020
Search Console J'ai un problème : 5 pages indexés et 43 exclues Crawl et indexation Google, sitemaps 2 Octobre 2020
Search Console Problème d'indexations de pages produits Crawl et indexation Google, sitemaps 30 Septembre 2020