0 votes

Combinaison d'instructions SQL

J'ai 3 tables (follows, postings, users)

follows a 2 champs -> profile_id , following_id

postings a 3 champs -> post_id, profile_id, content

les utilisateurs ont 3 champs -> profile_id, first_name, last_name

J'ai une valeur de 1 pour follows.profile_id que je veux comparer.

Lorsque j'exécute l'instruction SQL ci-dessous, j'obtiens la 1ère étape pour obtenir les données correctes. Cependant, je veux maintenant faire correspondre le postings.profile_id de ce jeu résultant avec la table users de sorte que chacun des noms (prénom et nom de famille) soit également affiché pour tous les postings listés.

Merci pour votre aide ! :)

Ex :

  SELECT * 
    FROM follows 
    JOIN postings ON follows.following_id = postings.profile_id 
   WHERE follows.profile_id = 1

1voto

OMG Ponies Points 144785

Utilisez :

  SELECT p.*,
         u.first_name,
         u.last_name
    FROM POSTINGS p
    JOIN FOLLOWS f ON f.following_id = p.profile_id
                  AND f.profile_id = 1
    JOIN USERS u ON u.profile_id = p.profile_id
ORDER BY tweets.modified DESC

1voto

Randy Points 12194
SELECT * 
FROM follows, postings, users
WHERE follows.following_id = postings.profile_id 
AND users.profile_id = follows.profile_id
AND follows.profile_id = 1 
ORDER BY tweets.modified DESC

1voto

Joe Koberg Points 9627

Il semble assez facile d'étendre la jointure à une autre table... peut-être que je manque une partie de la question !

    select 
      f.*,
      p.*,
      u.*
    from 

      follows f

          inner join 
      postings p
          on f.following_id = p.profile_id

          inner join
      users u
          on p.profile_id = u.profile_id

    where follows.profile_id = 1

1voto

jpabluz Points 942

Utiliser :

SELECT * 
    FROM follows 
    JOIN postings ON follows.following_id = postings.profile_id 
    INNER JOIN users on postings.profile_id = users.profile_id
   WHERE follows.profile_id = 1 
ORDER BY tweets.modified DESC

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X