Comment joindre 5 tables sql
Fermé
Barhamada
Messages postés
7
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
-
Modifié par Barhamada le 31/10/2014 à 02:28
o_edo1 Messages postés 28 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 11 juillet 2015 - 31 oct. 2014 à 05:06
o_edo1 Messages postés 28 Date d'inscription lundi 20 octobre 2014 Statut Membre Dernière intervention 11 juillet 2015 - 31 oct. 2014 à 05:06
A voir également:
- Comment joindre 5 tables sql
- Tables des matières word - Guide
- Tables ascii - Guide
- Oracle liste des tables ✓ - Forum Oracle
- 5 bips au démarrage hp ✓ - Forum Matériel & Système
- Réglage montre kalenji 5 atm waterproof - Forum Accessoires & objets connectés
5 réponses
Barhamada
Messages postés
7
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
1
31 oct. 2014 à 03:41
31 oct. 2014 à 03:41
Ok Delphine j'attends alors.
Coucou Barhamada
j'arrive à faire la somme totale de fois où apparaît un user (post + likes + dislikes+ comment)
Mais séparément, je ne pense pas que se soit possible
Sinon il faut faire une requête pour chaque table
j'ai vu que vous êtes trompé dans votre requête
INNER JOIN users ON users.id=post.user_id
çà devrait être
INNER JOIN users ON users.id=post.id_user
j'arrive à faire la somme totale de fois où apparaît un user (post + likes + dislikes+ comment)
Mais séparément, je ne pense pas que se soit possible
Sinon il faut faire une requête pour chaque table
j'ai vu que vous êtes trompé dans votre requête
INNER JOIN users ON users.id=post.user_id
çà devrait être
INNER JOIN users ON users.id=post.id_user
o_edo1
Messages postés
28
Date d'inscription
lundi 20 octobre 2014
Statut
Membre
Dernière intervention
11 juillet 2015
20
31 oct. 2014 à 03:07
31 oct. 2014 à 03:07
Tu problème est un poblème de SQL et non de php ;-) Fait séparément plusieurs requêtes (au lieu de une seule comme tu as fais), à chaque fois avec une seule jointure, à savoir post-user, post-like, post-dislike et post-comment. Donc 4 requêtes au total.
Barhamada
Messages postés
7
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
31 octobre 2014
1
31 oct. 2014 à 03:17
31 oct. 2014 à 03:17
Salut o_edo1 et merci pour ta réponse. Cependant faire 4 requetes serai trop lourd parce je développe une application android. Je dois ainsi recupérér un tableau cohérant dont chaque ligne devra contenir par exemple:
{"id":"12", "msg":"Salut o_edo1", "date":"31/10/2014","username":"Barhamada","likes":"4", "dislike":"1", "comments":"5"}
{"id":"12", "msg":"Salut o_edo1", "date":"31/10/2014","username":"Barhamada","likes":"4", "dislike":"1", "comments":"5"}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
o_edo1
Messages postés
28
Date d'inscription
lundi 20 octobre 2014
Statut
Membre
Dernière intervention
11 juillet 2015
20
Modifié par o_edo1 le 31/10/2014 à 05:19
Modifié par o_edo1 le 31/10/2014 à 05:19
Essaye ça et dis-moi si ça marche :
SELECT POST.id, USERS.username, SUM(nb_likes), SUM(nb_comments), SUM(nb_dislikes)
FROM
(
select id_post, 1 as nb_likes, 0 as nb_comments, 0 as nb_dislikes from LIKES
union
select id_post, 0 as nb_likes, 1 as nb_comments, 0 as nb_dislikes from COMMENTS
union
select id_post, 0 as nb_likes, 0 as nb_comments, 1 as nb_dislikes from DISLIKE
), USERS, POST
WHERE USERS.id = POST.id_user
GROUP by id_post
SELECT POST.id, USERS.username, SUM(nb_likes), SUM(nb_comments), SUM(nb_dislikes)
FROM
(
select id_post, 1 as nb_likes, 0 as nb_comments, 0 as nb_dislikes from LIKES
union
select id_post, 0 as nb_likes, 1 as nb_comments, 0 as nb_dislikes from COMMENTS
union
select id_post, 0 as nb_likes, 0 as nb_comments, 1 as nb_dislikes from DISLIKE
), USERS, POST
WHERE USERS.id = POST.id_user
GROUP by id_post