|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Nicolas Étudiant Inscription : mai 2010 Messages : 308 ![]() |
Bonjour,
j'ai un soucis avec ma requête merge. Cette requête fonctionne : Code :
Code :
Le calcul effectué pour l'update est OBLIGATOIRE, mais il peut être déplacé autre part dans la requête si besoin est pour contourner l'erreur. Le problème est qu'apparemment il existe plusieurs lignes pour la même date et avec le même code produit qui ont des quantités différentes. Comment feriez vous (sachant que les 2 tables n'ont pas de clé primaires) pour que la requête fonctionne ? |
||||
|
|
01
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 653 ![]() |
Citation:
|
|
|
|
10
|
|
|
#3 |
![]() ![]() |
Vous avez déjà eu la réponse sur l'autre sujet.
L'erreur signifie que pour une valeur de la table invoice, il y ait plusieurs valeurs candidates telles que définies dans votre requête source et votre critère de jointure. C'est à vous d'affiner vos requêtes, on ne peut pas supposer du contenu de vos tables, vous avez la solution générique il faut l'adapter.
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#4 |
|
Membre régulier
![]() Nicolas Étudiant Inscription : mai 2010 Messages : 308 ![]() |
Et s'il n'y a pas de moyens d'affiner plus la requête ?
Y a t-il une autre solution que le merge ? |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 653 ![]() |
Pourquoi ne pouvez-vous pas affiner plus votre requête ?
Le problème n'est pas le merge ici mais l'incohérence de votre nouvelle sous-requête, donc un update classic n'y changera rien. Pourquoi n'avez vous pas repris la structure max() keep() des autre colonnes pour vos quantités ? edit : de plus, pourquoi prendre la colonne "quantity" dans votre sous-requête alors que vous l'avez en direct sur votre table invoice ? |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Nicolas Étudiant Inscription : mai 2010 Messages : 308 ![]() |
Je ne peux pas plus affiner car les autres informations divergent (incohérence des lignes entre les 2 tables et je ne peux pas y remédier).
C'est une bonne idée de faire le max() pour la quantité, je n'y avais pas pensé ! Et oui, je pourrais enlever le quantity que j'ai déjà dans invoice, cette requête me prend tellement la tête que je fais des erreurs bêtes Merci beaucoup, je testerais dès que je pourrais de nouveau ! |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Nicolas Étudiant Inscription : mai 2010 Messages : 308 ![]() |
Tu m'as (presque) sauvé la vie Punkoff, merci !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com