|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Bonjour,
j'ai actuellement une requete: Code :
Code :
Comment pourrais-je contourner ce problème, sachant que la fonction MERGE ne fonctionne pas avec ma Bdd (SQlite). |
||||
|
|
00
|
|
|
#2 | ||||
|
Membre chevronné
![]() François Développeur informatique Inscription : novembre 2002 Messages : 773 ![]() |
ça ne marche pas avec un "and" entre les 2?
Code :
Code :
__________________
La SNCF est mon ami blog PARIS-GRANVILLE Inscription au panel IPSOS (possibilité d'avoir des bons d'achats) |
||||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
Bonjour,
Et avec un AND, ça ne foonctionne pas ? Code SQL :
Tatayo. |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
pinocchio => pour ta deuxième requête, j'ajouterai un distinct, car du fait des jointures il est possible que la requête renvoie plusieurs ignes identiques:
Code SQL :
Tatayo. |
||
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Bonjour,
désolé de ne répondre que maintenant. Donc le "AND" ne semblait pas fonctionner quand j'ai essayé. Pourquoi j'ai besoin de 2 "Not in"?! Parce que ma base est surement mal foutu ![]() Du coup, en attendant vos réponses que je testerais quand je trouverai un moment dans l'avancement du projet, j'ai mis en place une solution de secours qui est d'avoir créé un nouveau champ qui est la fusion de id_produit et id_serial et donc je n'ai besoin que de faire un seul "NOT IN". Je sais, c'est bizarre et pas très propre mais ca fonctionne. Je l'améliorais avec vos solutions plus tard. En tout cas merci de votre aide. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 274 ![]() |
Est ce que id_serial peut être NULL dans table_produit ?
Que donne : Code :
|
||
|
|
00
|
|
|
#7 | |||||
![]() ![]() |
C'est un concours de mauvaises idées ce sujet ?
Bravo, vous avez presque tous gagné ! Citation:
Comme NOT EXISTS, comme les jointures. Ce sont des outils, s'ils étaient à toujours proscrire, c'est simple ils n'existeraient pas. Pas de conclusion hâtive. Citation:
Citation:
À mon avis, ce qui a été mal exprimé c'est que Netzo doit chercher à référencer le couple (Id_Produit, Id_Serie) et non pas chaque colonne unitairement. Si c'est bien ce besoin, on le traduit ainsi : Code :
__________________
Email : http://scr.im/waldar |
|||||
|
10
|
|
|
#8 |
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Non justement, d'où le problème.
Un produit a forcement un Id_Produit et un Id_Produit mais l'un ou l'autre peuvent exister sur un autre produit. (si c'est les 2, il s'agit du même produit, logique). exemple: Un produit A1 (id_produit= A et id_serial= 1) un produit A2 un produit B1 Je vais essayé ta requête quand j'aurais un moment, car comme je l'ai dit, j'ai mis en place une solution de secours pour pouvoir avancer sur le reste. |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
Waldar => effectivement, j'ai écrit AND en pensé OR dans la condition
...Ca m'apprendra à faire plusieurs choses en même temps. Tatayo. |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Effectivement Waldar, c'est bien le couple que je dois chercher.
Donc il faut que l'Id_Produit AND Id_Serial du produit ne soient pas dans la Table_Produit pour l'insérer sinon on update le produit dont l'Id_Produit OR l'Id_Serial existe. |
|
|
00
|
|
|
#11 | ||
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Ta requete fonctionne Waldar. Merci
Par contre, dans le cas où justement l'enregistrement existe dans la Table_Produit, je fais un UPDATE et la requête que j'essaie mets bien à jour les "quantités" des enregistrements concernés mais efface les "quantités" des autres. Une idée? la requête: Code :
|
||
|
|
00
|
|
|
#12 | ||
![]() ![]() |
Il faut rajouter un WHERE EXISTS à l'update :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : juin 2010 Messages : 20 ![]() |
Nickel Waldar! Ca marche impec!
Merci à tout le monde |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com