johann36
Messages postés130Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017
-
6 août 2008 à 15:09
crn_c21
Messages postés302Date d'inscriptionsamedi 24 janvier 2004StatutMembreDernière intervention 4 février 2011
-
6 août 2008 à 23:38
Bonjour,
J'ai un gros soucis et je bloque dessus depuis ce matin sans trouver la réponse.
J'essaie de faire une boucle avec une requête UPDATE, je m'explique :
J'ai crée une colonne NumLigne et je voudrai mettre dans cette colonne le n° de la ligne de ma table, c'est pourquoi j'utilise une boucle WHILE mais le problème c'est que cela ne fonctionne pas.
Voici le code :
DECLARE @Cpt INT;
SET @Cpt = 0;
WHILE @Cpt < (SELECT COUNT(*) FROM TI_Ventes)
Begin UPDATE TI_Ventes SET NumLigne @Cpt, IdDate_T1 CAST (PLL_IdCommande as CHAR(6)) + CAST(YEAR(PLL_DateLivraison) as CHAR (4)) + CAST(MONTH(PLL_DateLivraison) as CHAR (2));
SET @Cpt = @Cpt + 1;
END
Ce qui ce passe c'est que la requête met à jour le contenu de ma table à chaque passage dans la boucle.
Ex :
Si j'ai 5 lignes et bien je vais avoir une boucle qui va s'exécuter 5 fois et la mise à jour va me mettre 5 fois l'ensemble de la table à jour ce qui au final me mettra 5 partout dans la colonne NumLigne.
johann36
Messages postés130Date d'inscriptiondimanche 15 février 2004StatutMembreDernière intervention 9 mai 2017 6 août 2008 à 19:54
Merci crn_c21 pour ta réponse,
En fait j'ai une table Vente et une table facture mais aucune relation entre les deux.
J'avais donc créé une colonne index contenant la concaténation du n° de facture avec les 4 chiffres de l'année + les 2 chiffres du mois.
Le soucis c'est que lorsque j'exécute la requête suivante :
"SELECT * FROM Ventes left outer JOIN Factures ON IdDate_T1 like IdDate_T2 WHERE FAC_DateFacture < PLL_DateLivraison order by IdDate_T2"
(En fait ce que je demande c'est de concaténer la table Vente et Facture avec comme condition que la date de Facture soit inférieur à la date de livraison) je me retrouve avec des doublons.
Je cherche une solution pour que cela fonctionne correctement mais sans relation entre les deux cela devient compliqué.
Est-ce que tu aurais une idée à ce problème qui effectivement est un problème ?