Requête sur deux tables

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par jbtz64, 31 Mai 2008.

  1. jbtz64
    jbtz64 Nouveau WRInaute
    Inscrit:
    28 Mai 2008
    Messages:
    20
    J'aime reçus:
    0
    bonsoir, je voudrais un conseil sur un requête dont j'ai besoin pour mon site.

    j'ai deux tables : la première News contenant id_news, titre, contenu et date.
    la deuxième Utilisateurs contenant : id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur

    et j'aimerais pouvoir afficher toutes ces infos si la news a été publiée aujourd'hui et par des utilisateurs vivant dans la même ville

    Code :
    SELECT COUNT(*) AS total
    FROM Utilisateurs, News
    WHERE Utilisateurs.nom_utilisateur = News.nom_utilisateur
    AND ville_utilisateur='Paris'
    AND date='$date';ca m'affiche bien toutes les news venant d'utilisateurs de la même ville, mais par contre pour la date il y a une légère erreur, ca m'affiche toutes les news de la table , si une news au moins a été écrite ce jour là ...

    qu'en pensez-vous ? quelqu'un a une idée ?
    merci, bonne soirée.
     
  2. Bacteries
    Bacteries WRInaute passionné
    Inscrit:
    27 Mai 2004
    Messages:
    1 253
    J'aime reçus:
    0
    Hummm, là ta requête va chercher les news d'utilisateurs venant de paris ayant écrit une news à la date $date.
    La syntaxe me semble correct (sauf que faire une jointure sur un nom alors qu'on a des ID c'est pas du tout recommandé).

    Vérifie après ce que contient de variable $date (est ce bien sous la forme aaaa-mm-jj? Est ce que tes tables ont bien un champs date de type date ou datetime?
     
  3. jbtz64
    jbtz64 Nouveau WRInaute
    Inscrit:
    28 Mai 2008
    Messages:
    20
    J'aime reçus:
    0
    re:

    j'ai quasiment aucun doute sur ma variable date, car cette requête me ramene toutes les news de ma table si une au moins a été écrite au jour demandé, c'est bien ça le problème.

    pour la jointure c'est préférable que je rajoute un id dans les deux tables, c'est bien ça ?
     
  4. Aye-Aye
    Aye-Aye WRInaute passionné
    Inscrit:
    15 Avril 2005
    Messages:
    1 533
    J'aime reçus:
    0
    Tu as oublié de préciser que nom_utilisateur doit aussi être un champ de News, non ? :roll:
     
  5. jbtz64
    jbtz64 Nouveau WRInaute
    Inscrit:
    28 Mai 2008
    Messages:
    20
    J'aime reçus:
    0
    re:

    je pense pas, il me semble que cette ligne sert à ça ? non !?
    WHERE Utilisateurs.nom_utilisateur = News.nom_utilisateur

    mais je suis pas sur...
     
  6. Aye-Aye
    Aye-Aye WRInaute passionné
    Inscrit:
    15 Avril 2005
    Messages:
    1 533
    J'aime reçus:
    0
    Cette ligne qui met en place une jointure suppose que tu aies un champ commun dans les 2 tables qui ici serait nom_utilisateur...
    Mais comme le dit Bactéries, il vaut mieux que cela soit id_utilisateurs qui permettent la jointure (si j'ai bien compris une news est écrite par un utilisateur... c'est cela ?).

    Mets à jour ta table News, en incluant un champ id_utilisateurs qui te permettra de faire ta jointure...
    Code:
    SELECT COUNT(*) AS total 
    FROM Utilisateurs, News 
    WHERE Utilisateurs.id_utilisateurs = News.id_utilisateurs 
    AND Utilisateurs.ville_utilisateur='Paris' 
    AND News.date='$date';
     
  7. cyberlahy
    cyberlahy WRInaute discret
    Inscrit:
    4 Avril 2006
    Messages:
    68
    J'aime reçus:
    0
    Je pense plutôt par une 3è table

    News(id_news, titre, contenu, date)
    Utilisateurs(id_utilisateurs, nom_utilisateur, email_utilisateur, ville_utilisateur)
    News_Utilisateurs(id, id_news, id_utilisateurs, date)

    Dont la news que l'utilisateur a publié pour la date donnée
     
  8. Aye-Aye
    Aye-Aye WRInaute passionné
    Inscrit:
    15 Avril 2005
    Messages:
    1 533
    J'aime reçus:
    0
    Deux tables suffisent si la news a été publiée par un utilisateur et un seul.

    Une troisième table sera utile en cas de publication collective possible d'un news (donc par plusieurs utilisateurs) à des dates diverses...
    Mais dans ce cas et uniquement dans ce cas, le champ date n'a plus à figurer dans la table News, non ?
    Enfin, il doit être possible de concaténer id_news et id_utilisateurs pour former la clé primaire de la 3ème table News_Utilisateurs qui recense la participation d'un rédacteur à un article.

    Le tout est de bien préciser la situation et de définir ce que l'on entend par 'date' par exemple... et je dois dire que je ne suis pas trés sur de voir qui fait quoi dans ce cas de figure... :roll:
     
Chargement...
Similar Threads - Requête tables Forum Date
Plutôt une grosse requête multitables ou plein de requêtes séparées ? Développement d'un site Web ou d'une appli mobile 24 Mai 2017
[MySQL] Requête SELECT et INSERT entre 3 tables liées+Aide Développement d'un site Web ou d'une appli mobile 30 Avril 2014
PB résultat Requête SQL avec jointure 3 tables Développement d'un site Web ou d'une appli mobile 12 Juin 2013
[MySQL] Requête SELECT entre 3 tables liées Développement d'un site Web ou d'une appli mobile 10 Août 2011
Requête sur deux tables problème champ / chaine Développement d'un site Web ou d'une appli mobile 28 Avril 2011
Problème de jointure entre deux tables requête SQL Développement d'un site Web ou d'une appli mobile 11 Avril 2011
[Résolu] PB requete SQL 3 tables + 2 count Développement d'un site Web ou d'une appli mobile 25 Janvier 2010
Requete de classement SQL sur trois tables avec SUM, COUNT.. Développement d'un site Web ou d'une appli mobile 4 Août 2008
SQL Requête dans plusieurs tables Développement d'un site Web ou d'une appli mobile 29 Mars 2008
Requete SQL sur 2 tables Développement d'un site Web ou d'une appli mobile 24 Décembre 2007
Problème avec requête SQL multiple (3 tables) et comptage Développement d'un site Web ou d'une appli mobile 22 Février 2006
Requete 2 tables Développement d'un site Web ou d'une appli mobile 20 Novembre 2005
Requête SQL pour connexion entre 3 tables liées.. Problèmes de référencement spécifiques à vos sites 30 Août 2005
Liste des requètes fréquentes en bas de pages Référencement Google 24 Août 2022
Erreur dans ma requête DMCA Droit du web (juridique, fiscalité...) 18 Novembre 2021
Réunir 2 requetes sql (ORDER BY ASC et DESC) Développement d'un site Web ou d'une appli mobile 29 Août 2021
Problème de ranking sur une requête cible Demandes d'avis et de conseils sur vos sites 24 Août 2021
Page d’accueil + sous page sur la même requête Problèmes de référencement spécifiques à vos sites 14 Juillet 2021
Search Console Absence de requêtes dans la search console Problèmes de référencement spécifiques à vos sites 21 Mai 2021
Nettoyage de requètes externes de Google, comment faire? Administration d'un site Web 24 Octobre 2020