Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2011, 10h09   #1
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
Par défaut delete sur une table avec jointure

Bonjour,

Je voudrais effacer une ligne de ma table document en faisant la jointure sur ma table fonction. Dès que, je lance ma requête il me dit que le champ personne.idpersonne est inconnu dans la clause where.

J'ai essayé de faire :

Code :
1
2
3
4
5
DELETE FROM document 
WHERE document.NomDocument LIKE 'doctest3' 
  AND document.idpersonne = fonction.idpersonne
  AND document.idversion =6 
  AND fonction.libfonction='ingénieur'
==> Champ 'fonction.idpersonne' inconnu dans where clause

J'ai donc essayé de rajouter personne dans le from :
Code :
1
2
3
4
5
DELETE FROM document, personne 
WHERE document.NomDocument LIKE 'doctest3' 
  AND document.idpersonne = fonction.idpersonne
  AND document.idversion =6 
  AND fonction.libfonction='ingénieur'
==> Erreur de syntaxe près de 'where document.NomDocument like 'doctest3' and document.idpersonne = fonction.idpersonne'

Ma table document se structure de la façon suivante:

Document
NomDoc
idpersonne
idversion

fonction
idpersonne
libfonction

Avez vous une idée de comment résoudre ce problème ?

Merci.
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 10h15   #2
Membre à l'essai
 
Inscription : janvier 2006
Messages : 120
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 120
Points : 24
Points : 24
J'ai finalement trouvé en allant sur la doc de mySQL comme quoi ça peut aider avant de poster .

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

J'ai fais comme ça :

Code :
1
2
3
4
5
DELETE document FROM document, personne 
WHERE document.NomDocument LIKE 'doctest3' 
  AND document.idpersonne = fonction.idpersonne
  AND document.idversion =6 
  AND fonction.libfonction='ingénieur'
Youpii
Jarod51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 10h26   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 327
Points : 18 327
Envoyer un message via MSN à CinePhil
Avec une jointure normalisée, ça aurait été encore mieux.

Par ailleurs, LIKE 'unevaleur' est équivalent à = 'unevaleur'. L'utilisation de LIKE n'a de sens qu'avec un caractère générique % ou _.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h03.


 
 
 
 
Partenaires

Hébergement Web