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:
    268
    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:
    294
    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 774
    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:
    268
    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:
    268
    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 774
    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:
    268
    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
Probleme de jointures entre 3 tables Administration d'un site Web 30 Septembre 2004
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
JOINTURE SQL: problème de doublon Développement d'un site Web ou d'une appli mobile 24 Mars 2009
Problème choix syntaxe jointure Développement d'un site Web ou d'une appli mobile 4 Août 2008
problème de jointure de table avec SUM et GROUP BY Développement d'un site Web ou d'une appli mobile 20 Septembre 2007
problème de jointure mysql : je m'en sors pas !! Développement d'un site Web ou d'une appli mobile 27 Août 2007
WordPress Problème affichage style avec Elementor (titre, bordures, separateur) Administration d'un site Web Lundi à 12:12
Problème d'indexation de backlinks Débuter en référencement 24 Juillet 2022
Problème d'indexation de backlinks Problèmes de référencement spécifiques à vos sites 21 Juillet 2022
Probleme de visibilité de ma page Facebook Facebook 5 Juillet 2022
problème avec le développeur Droit du web (juridique, fiscalité...) 22 Juin 2022
Problème désindexation des pages de Google Débuter en référencement 21 Juin 2022
Problème d'indexation de pages sur Google Problèmes de référencement spécifiques à vos sites 31 Mai 2022
problème de redirection non souhaitée Administration d'un site Web 28 Avril 2022
Problème d'indexation Produits Prestashop Crawl et indexation Google, sitemaps 28 Avril 2022
Problème d'affichage des campagnes Google Ads dans un tableau de bord Data Studio AdWords 26 Avril 2022
Problème de vitesse d'affichage des pages sur Analytics Google Analytics 26 Avril 2022
Problème : Google Crawl et Index des pages en No Index et bloqué par le robot.txt Crawl et indexation Google, sitemaps 26 Avril 2022