CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • 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 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Besoin d'aide avec SQL !

_Eviane
_Eviane
Niveau 37
23 juillet 2020 à 20:54:14

Salut à tous !

Alors je réalise un petit site dans le style de senscritique où les utilisateurs peuvent noter leurs films favoris !

Voilà comme se présente ma base de donnée Mysql, j'ai 3 tables différentes :

  • La première qui est la table "utilisateur" regroupant les informations sur les utilisateurs avec l'id, le mail, le pseudo, etc.
  • La deuxième qui est la table "films" regroupant les informations sur les films avec encore une fois l'id, le titre, le réalisateur, etc.
  • La troisième qui est la table "relation" qui contient l'id de l'utilisateur, l'id du film ainsi que la note, critique, etc.

J'ai pour le moment réussis à afficher les films notés par les utilisateurs sur leur profil à l'aide de cette requête

SELECT * FROM films INNER JOIN relation ON (films.id = relation.idFilm) AND (relation.idUser = ?)

Maintenant j'aimerais pouvoir afficher l'inverse sur la page d'accueil de l'utilisateur. C'est à dire qu'un utilisateur puisse uniquement voir les films qu'il n'a pas vu ! Donc les films qui ne sont pas "associés" avec lui dans la table relation.

N'étant pas très doué en sql je rame depuis des heures sans succès :-(
Si quelqu'un a une réponse à m'apporter je la prends bien volontiers :-)))

Et n'hésitez surtout pas à me poser des questions si ça peut vous aider à me répondre !! :ok:

VinkingBanni
VinkingBanni
Niveau 10
23 juillet 2020 à 21:32:15

requête imbriquer !

VinkingBanni
VinkingBanni
Niveau 10
23 juillet 2020 à 21:34:19

Je suis cool je te la fais
SELECT * from FILM where film.id NOT IN ( select film_id from relation WHERE idUser = ?)

Message édité le 23 juillet 2020 à 21:34:37 par VinkingBanni
_Eviane
_Eviane
Niveau 37
23 juillet 2020 à 21:51:16

Milles merci ! Ça fonctionne ! :coeur:

boucif
boucif
Niveau 24
23 juillet 2020 à 23:37:16

C’était pas plus simple un truc comme ca

SELECT * FROM films INNER JOIN relation ON (films.id = relation.idFilm)
Where relation.idUser != idUser

Je ne suis pas sur pour la syntaxe

VinkingBanni
VinkingBanni
Niveau 10
24 juillet 2020 à 05:37:21

Le 23 juillet 2020 à 23:37:16 boucif a écrit :
C’était pas plus simple un truc comme ca

SELECT * FROM films INNER JOIN relation ON (films.id = relation.idFilm)
Where relation.idUser != idUser

Je ne suis pas sur pour la syntaxe

Non car tu n'aurais pas toys les films (ceux jamais vue par les utilisateurs typiquement.

boucif
boucif
Niveau 24
24 juillet 2020 à 09:22:14

Bein il cherche à avoir les films qui n'ont pas été vu par l'utilisateur courant, ma requête fonctionne bon faudra pas oublier de faire un petit distinct au passage.
Après si tu veux avoir la liste des films que personne n'a vu autant faire une autre requête, je ne suis pas un fan des requêtes imbriqué surtout quand tu peux clairement t'en passer.

_S0uL
_S0uL
Niveau 9
24 juillet 2020 à 11:08:08

boucif -> Ta requête renvoi la liste des films que les autres utilisateurs ont vu mais que tu n'as pas vu. Pas la liste de tous les films que tu n'as pas vu. Si dans sa bdd il y a des films qui n'ont pas été visionnés par d'autres utilisateurs (ce n'est peut être pas le cas, on ne sait pas comment fonctionne le site), ils seront ignorés.

VinkingBanni
VinkingBanni
Niveau 10
24 juillet 2020 à 11:14:18

Le 24 juillet 2020 à 11:08:08 _S0uL a écrit :
boucif -> Ta requête renvoi la liste des films que les autres utilisateurs ont vu mais que tu n'as pas vu. Pas la liste de tous les films que tu n'as pas vu. Si dans sa bdd il y a des films qui n'ont pas été visionnés par d'autres utilisateurs (ce n'est peut être pas le cas, on ne sait pas comment fonctionne le site), ils seront ignorés.

J'avais un doute mais c'est exactement ce que j'ai dis ce matin.

Les films jamais visionner ne seront jamais 🙈

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment