Besoin d'aide urgent pour une requête SQL
Fermé
Alex
-
22 janv. 2009 à 11:32
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 - 22 janv. 2009 à 12:46
HostOfSeraphim Messages postés 6750 Date d'inscription jeudi 2 février 2006 Statut Contributeur Dernière intervention 31 juillet 2016 - 22 janv. 2009 à 12:46
A voir également:
- Besoin d'aide urgent pour une requête SQL
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Dupliquer une table sql ✓ - Forum Programmation
9 réponses
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 11:40
22 janv. 2009 à 11:40
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.
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
22 janv. 2009 à 11:50
22 janv. 2009 à 11:50
regarde le CREATE TABLE pour la sql de création.
Pour les modifications de table : ALTER TABLE
Pour les modifications de table : ALTER TABLE
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.
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 608
>
Alex
22 janv. 2009 à 12:22
22 janv. 2009 à 12:22
C'est au niveau du fond (la commande pour insérer des données (INSERT INTO pour info)), ou au niveau de la forme ?
Alex
>
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
22 janv. 2009 à 12:25
22 janv. 2009 à 12:25
La table publications contient plus que 700 publications donc je peux pas le faire à la main, j'ai besoin d'une requête qui fait l'insertion automatiquement.
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
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 608
22 janv. 2009 à 12:26
22 janv. 2009 à 12:26
Du coup, les quotes sont inutiles ;-)
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 ;)
HostOfSeraphim
Messages postés
6750
Date d'inscription
jeudi 2 février 2006
Statut
Contributeur
Dernière intervention
31 juillet 2016
1 608
>
Alex
22 janv. 2009 à 12:46
22 janv. 2009 à 12:46
A mon avis, tu vas devoir passer par un script pour faire le traitement autour de tout ça, peu importe le langage.