Se connecter

Informatique

Création de sites web

Sujet : Comment puis-je sélectionner des données à partir de ces 3 tables
1
Lolopette
Niveau 54
26 octobre 2019 à 20:13:04

Salut,

Comment puis-je sélectionner des données à partir de ces 3 tables où user_id est identique et ordonner toutes ces données avec la date du plus récent au plus ancien ?

TABLE 1
id
user_id
message
date

TABLE 2
id
user_id
message
date

TABLE 3
id
user_id
message
date

$query = $db->prepare("SELECT * FROM table1, table2, table3 WHERE user_id=:user_id ORDER BY ?????????");
WebDeveloppeur
Niveau 10
26 octobre 2019 à 20:23:30

Avez-vous établi une relation sur les colonnes "user_id" entre toutes vos tables ?

boucif
Niveau 24
26 octobre 2019 à 20:58:53

Je ne sais pas sur quel bdd vous travailler mais il serait sympa de regarder comment fonctionne les jointures : Inner Join, Outer Join, Cross Join ...

Lolopette
Niveau 54
26 octobre 2019 à 22:37:29

Le 26 octobre 2019 à 20:23:30 WebDeveloppeur a écrit :
Avez-vous établi une relation sur les colonnes "user_id" entre toutes vos tables ?

non pq

WebDeveloppeur
Niveau 10
26 octobre 2019 à 23:04:17

Le 26 octobre 2019 à 22:37:29 Lolopette a écrit :

Le 26 octobre 2019 à 20:23:30 WebDeveloppeur a écrit :
Avez-vous établi une relation sur les colonnes "user_id" entre toutes vos tables ?

non pq

Vous devriez chercher sur internet et faire des test car c'est un système à bien comprendre.

Highscore
Niveau 7
27 octobre 2019 à 07:47:13

La tu as trois tables avec la même structure, pourquoi ?

mov_eax_1
Niveau 10
27 octobre 2019 à 09:00:34

:rire:

Lolopette
Niveau 54
27 octobre 2019 à 17:29:45

Le 27 octobre 2019 à 07:47:13 Highscore a écrit :
La tu as trois tables avec la même structure, pourquoi ?

c'est un exemple pour pas faire trop compliqué pour que les gens répondent a la question posé :)

boucif
Niveau 24
27 octobre 2019 à 17:50:27

Le 27 octobre 2019 à 17:29:45 Lolopette a écrit :

Le 27 octobre 2019 à 07:47:13 Highscore a écrit :
La tu as trois tables avec la même structure, pourquoi ?

c'est un exemple pour pas faire trop compliqué pour que les gens répondent a la question posé :)

tu as regardé le fonctionnement des jointures

TidoDaWiseOlMan
Niveau 7
27 octobre 2019 à 18:35:48

Effectivement c'est une jointure qu'il te faut (INNER ou LEFT suivant tes besoins).

deepblue
Niveau 13
27 octobre 2019 à 19:48:20
SELECT * FROM table1 WHERE user_id=1
UNION SELECT * FROM table2 WHERE user_id=1
UNION SELECT * FROM table3 WHERE user_id=1

…si les tables on le même nombre de colonnes (ou les select).

Lolopette
Niveau 54
27 octobre 2019 à 21:14:40

Merci mais cela répond pas a la question posé.

Comment puis-je sélectionner des données à partir de ces 3 tables où user_id est identique et ordonner toutes ces données avec la date du plus récent au plus ancien ?

boucif
Niveau 24
27 octobre 2019 à 22:51:01

En faite tu veux qu’on fasse ton taf

TidoDaWiseOlMan
Niveau 7
27 octobre 2019 à 23:08:09

Le 27 octobre 2019 à 21:14:40 Lolopette a écrit :
Merci mais cela répond pas a la question posé.

Comment puis-je sélectionner des données à partir de ces 3 tables où user_id est identique et ordonner toutes ces données avec la date du plus récent au plus ancien ?

ORDER BY

Lolopette
Niveau 54
28 octobre 2019 à 00:56:08

Le 27 octobre 2019 à 23:08:09 TidoDaWiseOlMan a écrit :

Le 27 octobre 2019 à 21:14:40 Lolopette a écrit :
Merci mais cela répond pas a la question posé.

Comment puis-je sélectionner des données à partir de ces 3 tables où user_id est identique et ordonner toutes ces données avec la date du plus récent au plus ancien ?

ORDER BY

Merci je l'ai dans la requête mais ça me dit pas comment le faire pour les 3

Lolopette
Niveau 54
28 octobre 2019 à 17:17:18
select foo.*
from (
  select user_id, date
  from t1
  where user_id = :user_id
  union
  select user_id, date
  from t2 where user_id = :user_id
  union
  select user_id, date
  from t3 where user_id = :user_id
) foo
order by foo.date desc

J'ai trouvé ca des commentaires ?

boucif
Niveau 24
28 octobre 2019 à 17:51:09

fais pas un union mais un join :
https://sql.sh/cours/jointures/inner-join

l'union c'est pas pour ton cas

WebDeveloppeur
Niveau 10
28 octobre 2019 à 19:01:25

Je pense que vous devriez étudier ce problème chez vous soigneusement au lieu de réclamer la réponse sur vos topics car vous n'apprenez rien à recevoir directement la solution.

Pseudo supprimé
Niveau 7
29 octobre 2019 à 23:42:07

C'est quoi le nom des tables ? Bizarre d'avoir les trois même.. Je dirais de faire une union.

1
Sujet : Comment puis-je sélectionner des données à partir de ces 3 tables
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page