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

Question sur requêtes SQL

Razes
Razes
Niveau 35
03 septembre 2020 à 20:32:14

Salut !

Je commence un projet, je suis débutant, j'ai déjà vu du SQL mais bon quand il s'agit d'en faire sans personne pour aider c'est plus dur, alors je viens faire appel à vous !

J'ai 2 tables, un table Projets (id, titre, description) et une table Medias (id, lien, projet_id)

Je veux faire une vue qui me montre les projets et leur médias associé mais j'y arrive pas.
J'aurais pu tricher et mettre dans Projets un champ médias mais bon j'ai envie de respecter les règles de normalisation.

Des idées ? Merci ! :)

El_Camino
El_Camino
Niveau 10
03 septembre 2020 à 21:13:45

tu veux faire un INNER JOIN donc

Nuagedecube
Nuagedecube
Niveau 24
03 septembre 2020 à 21:17:29

Le 03 septembre 2020 à 20:32:14 Razes a écrit :
Je veux faire une vue

:question: Une vue ?

[Black_Spirit]
[Black_Spirit]
Niveau 19
03 septembre 2020 à 21:39:38

CREATE VIEW [Projets et Medias] AS
SELECT * FROM Projets
INNER JOIN Medias
ON Projets.id = Medias.projet_id;

j'ai pas testé mais ça doit être ça:
Sources:
https://www.w3schools.com/sql/sql_view.asp
https://www.w3schools.com/sql/sql_join_inner.asp

Razes
Razes
Niveau 35
03 septembre 2020 à 22:26:58

Le 03 septembre 2020 à 21:17:29 Nuagedecube a écrit :

Le 03 septembre 2020 à 20:32:14 Razes a écrit :
Je veux faire une vue

:question: Une vue ?

Une requête stockée en somme

Le 03 septembre 2020 à 21:39:38 [Black_Spirit] a écrit :
CREATE VIEW [Projets et Medias] AS
SELECT * FROM Projets
INNER JOIN Medias
ON Projets.id = Medias.projet_id;

j'ai pas testé mais ça doit être ça:
Sources:
https://www.w3schools.com/sql/sql_view.asp
https://www.w3schools.com/sql/sql_join_inner.asp

Merci pour ton aide, mon IDE me donne ça comme résultat, ce qui est juste
https://ibb.co/xJxZcg0

On ne peut pas avoir une requête qui fusionne 2 tuples qui ont la même projet.id ?
Histoire d'avoir un projet qui s'affiche avec tous les médias qui lui sont liés ?

[Black_Spirit]
[Black_Spirit]
Niveau 19
04 septembre 2020 à 01:13:57

Un tuple c'est toute la ligne. De plus, un tuple c'est censé être "autonome" je dirais. En SQL je suis pas sûr que tu puisses les "factoriser".
En l’occurrence tes 4 tuples sont différents donc je vois pas trop comment tu les fusionnerais :-)
T'as une vision plus précise ?

Message édité le 04 septembre 2020 à 01:15:38 par [Black_Spirit]
Razes
Razes
Niveau 35
04 septembre 2020 à 09:37:47

Je me dis qu'il me faudrait une ligne

projet.id / titre / description / medias 1 / medias 2 / medias 3 etc

Mais bon je pense pas que ce soit possible au final

boucif
boucif
Niveau 24
04 septembre 2020 à 10:01:17

Si c'est possible pourquoi veux-tu le faire en sql ?

Razes
Razes
Niveau 35
04 septembre 2020 à 10:04:31

Parce que c'est ce que j'ai appris dans ma formation

Nuagedecube
Nuagedecube
Niveau 24
04 septembre 2020 à 10:30:54

Le 03 septembre 2020 à 22:26:58 Razes a écrit :
Une requête stockée en somme

D'accord mais je ne vois pas l'intérêt de faire ça si il souhaite apprendre à joindre plusieurs tables dans une requête.

dechet_s0cial
dechet_s0cial
Niveau 10
04 septembre 2020 à 10:46:17
select p.id, p.titre,p.description,GROUP_CONCAT(DISTINCT m.lien SEPARATOR ', ')
from Projets p
inner join Medias m
on p.id = m.projet_id
group by p.id;
Razes
Razes
Niveau 35
04 septembre 2020 à 10:59:13

Le 04 septembre 2020 à 10:46:17 dechet_s0cial a écrit :
select p.id, p.titre,p.description,GROUP_CONCAT(DISTINCT m.lien SEPARATOR ', ') from Projets p inner join Medias m on p.id = m.projet_id group by p.id;

C'est ça ! Merci !

SoRoughh
SoRoughh
Niveau 26
08 septembre 2020 à 11:57:03

Ducoup ça te gene pas de pas avoir les projets qu n'ont pas de médias ?

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