CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Comment puis-je sélectionner des données à partir de ces 3 tables

DébutPage précedente
1
Page suivantePage suivante
Lolopette Lolopette
MP
Niveau 53
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 WebDeveloppeur
MP
Niveau 10
26 octobre 2019 à 20:23:30

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

Message édité le 26 octobre 2019 à 20:26:43 par WebDeveloppeur
boucif boucif
MP
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 Lolopette
MP
Niveau 53
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 WebDeveloppeur
MP
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.

Message édité le 26 octobre 2019 à 23:04:28 par WebDeveloppeur
Highscore Highscore
MP
Niveau 7
27 octobre 2019 à 07:47:13

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

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

:rire:

Lolopette Lolopette
MP
Niveau 53
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 boucif
MP
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 TidoDaWiseOlMan
MP
Niveau 7
27 octobre 2019 à 18:35:48

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

deepblue deepblue
MP
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 Lolopette
MP
Niveau 53
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 boucif
MP
Niveau 24
27 octobre 2019 à 22:51:01

En faite tu veux qu’on fasse ton taf

TidoDaWiseOlMan TidoDaWiseOlMan
MP
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 Lolopette
MP
Niveau 53
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 Lolopette
MP
Niveau 53
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 boucif
MP
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 WebDeveloppeur
MP
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.

DébutPage précedente
1
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
Infos 0 connecté(s)

Gestion du forum

Modérateurs : Thymotep
Contacter les modérateurs - Règles du forum

Sujets à ne pas manquer

La vidéo du moment