|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : février 2011 Messages : 2 ![]() |
Bonjour à tous,
Voilà mon problème simplifié : j'ai une table contenant une liste de valeurs possibles (TA) et une autre table contenant une restriction de cette liste de valeurs (TB). Je souhaite créer une vue me permettant de répondre aux 2 cas suivant 1) Dans le cas où TB est vide, je souhaite récupérer toutes des valeurs de TA. 2) Dans le cas où TB n'est pas vide, je ne souhaite récupérer que les valeurs identifiées dans TB par une jointure sur TA. Code :
Code :
Fonctionnement identique avec INTERSECT. Ma solution actuelle est de faire une vue basée sur un select de ta et tb avec un outer join, de faire un count sur le nb de colonne tb.code renseignées. Si ce nombre est positif, je reprends les valeurs avec tb.code non null sinon je reprends toutes les lignes. Si quelqu'un a une autre solution, je suis preneur. Merci. |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() ![]() Marius NituIngénieur développement logiciels Inscription : octobre 2007 Messages : 3 311 ![]() |
Il y en a comme d'habitude plusieurs solutions, donc voilà une:
Code pseudoSQL :
|
||
|
|
00
|
|
|
#3 | ||
![]() ![]() |
Vous pouvez faire comme ça :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
|
|
#4 | |||||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 437 ![]() |
ca ne marche pas ça, Waldar.. enfin ça ne marche que si TB est vide ou ne contient qu'une ligne.
Code :
Citation:
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
|||||
|
|
00
|
|
|
#5 | |
![]() ![]() |
Citation:
__________________
Email : http://scr.im/waldar |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 2 ![]() |
merci Waldar, McM et mnitu !
J'ai retenu la solution de mnitu. Bonne journée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com