Besoin d'aide urgent pour une requête SQL
Alex
-
HostOfSeraphim Messages postés 7340 Statut Contributeur -
HostOfSeraphim Messages postés 7340 Statut Contributeur -
Bonjour,
J'ai 2 Tables publications et auteurs et je veux ajouter des champs dans la table publications où on trouve les Id_auteurs des auteurs qui ont participé à la publication.
TABLE publications
Id_article Nom_Auteurs
1 NOM1, NOM2, NOM3
2 Nom4, NOM5
TABLE auteurs
Id_auteur Nom
1 Auteur1
2 Auteur2
3 Auteur3
4 Auteur4
5 Auteur5
Je vous remercie de votre aide.
J'ai 2 Tables publications et auteurs et je veux ajouter des champs dans la table publications où on trouve les Id_auteurs des auteurs qui ont participé à la publication.
TABLE publications
Id_article Nom_Auteurs
1 NOM1, NOM2, NOM3
2 Nom4, NOM5
TABLE auteurs
Id_auteur Nom
1 Auteur1
2 Auteur2
3 Auteur3
4 Auteur4
5 Auteur5
Je vous remercie de votre aide.
A voir également:
- Besoin d'aide urgent pour une requête SQL
- Logiciel sql - Télécharger - Bases de données
- Requête sql pour afficher uniquement les fleurs dont le prix est strictement inférieur à 10 euros ✓ - Forum DS
- Jointure sql ✓ - Forum MySQL
- Sql (+) - Forum Programmation
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de tennis mais pas de tennis de table ✓ - Forum Android
9 réponses
Salut déjà tu devrai plutot faire 3 tables
Une pour les articles :
Id_article | Titre Article
art1 | TITRE1
art2 | TITRE2
une table auteurs
Id_auteur | Nom
aut1 | Auteur1
aut2 | Auteur2
aut3 | Auteur3
aut4 | Auteur4
aut5 | Auteur5
Et une table de liaison (je reprends ton exemple pour l'explication)
Id_article | Id_auteur
art1 | aut1
art1 | aut2
art1 | aut3
art2 | aut4
art2 | aut5
Voilà pour un vraie conception base de données.
Pour une explication :
1 article peut avoir 1 ou plusieurs auteurs.
1 auteurs peut avoir écris 0 ou plusieurs articles.
Tu as donc un relation de type n-m qui nécessite une table intermédiaire de liaison.
Une pour les articles :
Id_article | Titre Article
art1 | TITRE1
art2 | TITRE2
une table auteurs
Id_auteur | Nom
aut1 | Auteur1
aut2 | Auteur2
aut3 | Auteur3
aut4 | Auteur4
aut5 | Auteur5
Et une table de liaison (je reprends ton exemple pour l'explication)
Id_article | Id_auteur
art1 | aut1
art1 | aut2
art1 | aut3
art2 | aut4
art2 | aut5
Voilà pour un vraie conception base de données.
Pour une explication :
1 article peut avoir 1 ou plusieurs auteurs.
1 auteurs peut avoir écris 0 ou plusieurs articles.
Tu as donc un relation de type n-m qui nécessite une table intermédiaire de liaison.
Salut,
MErci pour ta réactivité!!! ;)
Les tables sont déja créés et je ne peux pas les modifier mais l'idée de la 3ème table me plaît mais je ne sais pas comment la programmer.
Thanks.
MErci pour ta réactivité!!! ;)
Les tables sont déja créés et je ne peux pas les modifier mais l'idée de la 3ème table me plaît mais je ne sais pas comment la programmer.
Thanks.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je pense que déja tu devrais avoir 3 tables C'est a dire :
AUTEUR (Num_auteur, Nom_auteur)
PUBLICATION (Num_Publication, Libelle_publication)
PARTICIPER (#Num_publication, #Num_auteur)
Et après si tu veux ajouter un champ dans la table PUBLICATION, tu clik à gauche sur publication et ensuite tu verras la table qui va s'apparaitre. Juste en dessous tu auras "Ajouter 1 champs" (après il y a "en fin de table" "...") tu clik dessus et tu pourra ajouter les champs.
AUTEUR (Num_auteur, Nom_auteur)
PUBLICATION (Num_Publication, Libelle_publication)
PARTICIPER (#Num_publication, #Num_auteur)
Et après si tu veux ajouter un champ dans la table PUBLICATION, tu clik à gauche sur publication et ensuite tu verras la table qui va s'apparaitre. Juste en dessous tu auras "Ajouter 1 champs" (après il y a "en fin de table" "...") tu clik dessus et tu pourra ajouter les champs.
Ah ok, ben tu fais
INSERT INTO PARTICIPER VALUES('Num_publication','Num_auteur',);
Il faut que ca soit des chiffres
INSERT INTO PARTICIPER VALUES('Num_publication','Num_auteur',);
Il faut que ca soit des chiffres
Il faut que ca soit des chiffres qui sont déja existants. C'est à dire, Num_publication doit exister dans la table publication et pareil pour auteurs.
T'as 700 auteurs et 1500 publications.. Done moi les champs de tes tables stp. Ainsi que les clé étrangère parce que je pense que je m'embrouille là.. loool
Je vais te reformuler le problème c mieux ;)
J'ai 2 tables déja créés Artciles et auteurs
Id_article | auteurs
1 | NOM1, NOM2,NOM3
2 | NOM4, NOM5
une table auteurs
Id_auteur | Nom
1 | NOM1
2 | NOM2
3 | NOM3
4 | NOM4
5 | NOM5
Je dois créer la table suivante
Id_article | Id_auteur
1 | 1
1 | 2
1 | 3
2 | 4
2 | 5
Pour le faire, je pense qu'il faut :
-créer la nouvelle tablle.
-Faire une requête qui prend l'Id-article de la table artciles et le met dans Id_article de la nouvelle table.
-Puis prendre le Nom de la table auteur et vérifie si ce nom existe dans les auteurs de la publication (champs auteurs de la table publication). Si c'est le cas on met son ID dans Id_auteur de la nouvelle table.
-Et on continue comme ça jusqu'à la fin.
J'espère que c'est plus clair maintenant ;)
J'ai 2 tables déja créés Artciles et auteurs
Id_article | auteurs
1 | NOM1, NOM2,NOM3
2 | NOM4, NOM5
une table auteurs
Id_auteur | Nom
1 | NOM1
2 | NOM2
3 | NOM3
4 | NOM4
5 | NOM5
Je dois créer la table suivante
Id_article | Id_auteur
1 | 1
1 | 2
1 | 3
2 | 4
2 | 5
Pour le faire, je pense qu'il faut :
-créer la nouvelle tablle.
-Faire une requête qui prend l'Id-article de la table artciles et le met dans Id_article de la nouvelle table.
-Puis prendre le Nom de la table auteur et vérifie si ce nom existe dans les auteurs de la publication (champs auteurs de la table publication). Si c'est le cas on met son ID dans Id_auteur de la nouvelle table.
-Et on continue comme ça jusqu'à la fin.
J'espère que c'est plus clair maintenant ;)