Énigme avec SQL !!

Énigme avec SQL !! - SQL/NoSQL - Programmation

Marsh Posté le 28-05-2004 à 18:56:17    

Voici un bel énigme....
 
J'ai deux tables que voici:
 
-----------------              -------------
livre           !              !facture    !      
-----------------              -------------
idlivre         !              !idlivre    !  
iddate          !              !datefacture!  
-----------------              -------------
 
Par une requête SQL, je veux rendre le champ "iddate" de la table livre pareil au champ "datefacture" de la table facture, et ce, où "livre.idlivre" = à "facture.idlivre".
 
Ca donnerait ceci, sauf que ca marche pas dans SQL Server:
 
"Update livre
Set iddate = facture.datefacture
where livre.idlivre = facture.idlivre"
 
Pourquoi ca marche pas et quel serait le moyen de pouvoir faire ce genre de requête???!!???
 
Merci

Reply

Marsh Posté le 28-05-2004 à 18:56:17   

Reply

Marsh Posté le 28-05-2004 à 20:36:15    

j'dis ptet une connerie, mais faudrait peut être déclarer la table facture à un moment dans ta requete...
 
un truc du genre :

Code :
  1. Update livre, facture
  2. Set iddate = facture.datefacture
  3. where livre.idlivre = facture.idlivre


---------------
Mon site photo | Voyage en Mongolie en fourgon aménagé
Reply

Marsh Posté le 28-05-2004 à 21:55:13    

Ouais nan moi j'aurais mis ca aussi :
UPDATE livre  
SET iddate = facture.datefacture  
WHERE livre.idlivre = facture.idlivre
 
Je ne vois donc pas ou est ton erreur. Peute être que t'as une erreur d'orthographe par rapport au élément de ta table...
Il t'affiche quoi SQL Serveur comme message d'erreur??

Reply

Marsh Posté le 28-05-2004 à 21:58:51    

et
 

UPDATE livre  
SET livre.iddate = facture.datefacture  
WHERE livre.idlivre = facture.idlivre


Message édité par Profil supprimé le 28-05-2004 à 21:59:45
Reply

Marsh Posté le 28-05-2004 à 23:24:15    

A priori il n'y aurai pas de pépin vu ke la propriété iddate est propre à livre donc normalement il n'y a pas d'ambiguité.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed