[SQL] Requête - aide svp

MiniBug -  
giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai un petit problème qui m'empeche de continuer mon travail. J'aurai besoin de votre aide de tout coeur.

Je vous explique...

J'ai transféré les données d'une BDD vers une autre.
Dans ma nouvelle BDD, il y a une table "animaux" où j'ai un certain nombre d'enregistrements et il y a parmis ces champs de cette table, un champ "espece". Et je souhaiterai à la place du champ espece qu'il y ait à la place le numespece (numéro) de l'espère qui se trouve dans la table espèce.

Donc en gros, il y a :
Table animaux
Nom - espece
Snake - reptile

Table espece
numespece - espece
3 - reptile

et je voudrai dans la table animaux
Nom - numespece
Snake - 3

Et ce 3 correspond au numéro de la table espèce de "reptile". Il faut utiliser une requête SQL, mais je n'y arrive pas. Quelqu'un à une idée de la requête ? Si vous pouvez m'aider, ça serait vraiment sympa.


Merci.

8 réponses

{psycho.} Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   8
 
Salut,
Essaye une requête dans le genre :

update animaux join espece on animaux.espece = espece.espece set animaux.espece=espece.numespece;

ou

update animaux set espece=(select numespece from espece join animaux on espece.espece = animaux.espece);
0
MiniBug
 
Aucune fonctionne psycho mais cela doit être dans le genre, je re-regarde.
0
{psycho.} Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   8
 
Ok, si tu n'as pas trouvé d'ici ce soir j'essaierai de jeter un œil, pas le temps pour le moment.
0
MiniBug
 
Dans cette requête :
update animaux join espece on animaux.espece = espece.espece set animaux.espece=espece.numespece;

Le mot que j'ai mi en gras, c'est le nom de la table ou du champ ?
0
{psycho.} Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   8
 
La table, désolé pour le temps de réponse! Quand tu fais un join dans une requête SQL, c'est pour joindre une table :)

http://dev.mysql.com/doc/refman/5.0/fr/index.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
{psycho.} Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   8
 
Tiens, tu peux faire ça, je viens de tester et ça passe sans problème :
update animaux set espece=(select numespece from espece where animaux.espece = espece.espece);
0
MiniBug
 
Cette requête ne fonctionne pas :
update animaux set espece=(select numespece from espece where animaux.espece = espece.espece);

Pourtant elle m'a l'air bien.

Peut-être quelque chose à faire dans le shéma relationnelle puisqu'il n'y a pas de relation... :-s


update T-Oiseaux_PASFINI set T-Espece=(select numespece from T-Espece where T-Oiseaux_PASFINI.nomfrancais = T-Espece.nomfrancais);
0
{psycho.} Messages postés 101 Date d'inscription   Statut Membre Dernière intervention   8
 
?! Etrange, c'est passé sans problème chez moi... ça te sort quoi comme message d'erreur?
Et en mettant :
update T-Oiseaux_PASFINI set T-Oiseaux_PASFINI.T-Espece=...

qu'est ce que ça donne?
0
giheller Messages postés 1882 Date d'inscription   Statut Membre Dernière intervention   142
 
bonsoir,

j'aurai ajouté

update animaux set espece=(select numespece from espece, animaux where animaux.espece = espece.espece);

car à mon avis il commence par faire le select
0