Signaler

Condition

Posez votre question pascalou83400 147Messages postés dimanche 20 juillet 2014Date d'inscription 27 octobre 2016 Dernière intervention - Dernière réponse le 27 oct. 2016 à 18:32
Bonjour,
Je cale sur un code , je veux choisir un des 2 champs dans une table.
J'ai dans from and( PAAPRIORITY=1 or PAADEFAULT=1) et je veux que si le champ PAAPRIORITY n'existe pas alors on prend PAADEFAULT, mais quand j’écris

and ( PAAPRIORITY=1 or PAADEFAULT=1), j'ai les 2.

J'ai PAADEFAULT dans select.

Bon je découvre pas à pas le code que m'a fait un informaticien ...

Je vous remercie pour votre aide et explication.

Merci

Pascal
Afficher la suite 
Utile
+0
moins plus
Bonjour,

difficile de répondre car comprendre avec si peu d'éléments....

Mets donc ta requête complète.

A+
Ajouter un commentaire
Utile
+0
moins plus
Bonjour HDU,

Je mets la requete complete, les données proviennent d'un programme developpé sous firebird.

Les champs proviennent de la meme table.

ci-joint la requete :

SELECT STOCOMMENT as Commentaire, 
article.ARTNOARTICLE as Code,
 article.ARTSORT as Genre,  case when artvariety<>'' then artspecies||' '||artvariety else artspecies end as Espece_Variete, 
stocriteria1.pardesignation as Etat_lot,
 artcriteria1.pardesignation as Diam_pot,
 artpresentation.pardesignation as Litrage, 
artcriteria3.pardesignation as Presentation,
artcriteria2.pardesignation as Presentation, 
unvdesignation as Taille,  
artcriteria4.pardesignation as Diam_tete,
 artcriteria9.pardesignation as HT_total,
DEPOT.PARDESIGNATION as Site,
EMPLACEMENT.EMPDESIGNATION as Parcelle_lot,
stocriteria2.pardesignation as Marquage,
 paaprivilegedpackage as Condition,
packaging.pacdesignation as Condition, 
paaquantity as Qte_cond,
paaqtyprivilegedpackage as Nb_cond,
paaquantity*paaqtyprivilegedpackage as Qte_Roll,
paaqtyprivilegedpackage2 as Nb_plt_cam,
 paaqtyprivilegedpackage3 as Metrage_cam,
paaquantity*paaqtyprivilegedpackage*paaqtyprivilegedpackage2*paaqtyprivilegedpackage3 as Qte_plt_cam,
 paadefault as Cond_def, 
article.ARTCRITERIA19 as Code_tri, 
artcriteria19.pardesignation as tri, 
artcriteria8 as Initial_fourn,
article.ARTPRICEREFMARGIN as Tarif_PR,
trfcostvalue  as Tarif_Palmacea,

artcriteria12.pardesignation as Notre_Selection,
STOBEGINDATEAVAILABLE,
ARTQTEN1,
ARTQTEN,
STOQTYRESERVORDER,
Stostockphysique, 
Stostockdispo

FROM article article
left outer join PACKAGEARTICLE on paanoarticle=artnoarticle
left outer join artcost on trfnoarticle=artnoarticle
left outer join supplier on cusnocustomer=artmainsupplier
left outer join artpresentation on artpresentation.parcodeparam=article.artpresentation
left outer join unitevente on unvcode=artsize
left outer join artfamily on artfamily.parcodeparam=article.artfamilycode
left outer join artcriteria5 on artcriteria5.parcodeparam=article.artcriteria5
left outer join artcriteria1 on artcriteria1.parcodeparam=article.artcriteria1
left outer join artcriteria2 on artcriteria2.parcodeparam=article.artcriteria2
left outer join artcriteria3 on artcriteria3.parcodeparam=article.artcriteria3
left outer join artcriteria9 on artcriteria9.parcodeparam=article.artcriteria9
left outer join artcriteria4 on artcriteria4.parcodeparam=article.artcriteria4
left outer join artcriteria10 on artcriteria10.parcodeparam=article.artcriteria10
left outer join artcriteria11 on artcriteria11.parcodeparam=article.artcriteria11
left outer join artcriteria6 on artcriteria6.parcodeparam=article.artcriteria6
left outer join artcriteria7 on artcriteria7.parcodeparam=article.artcriteria7
left outer join artcriteria12 on artcriteria12.parcodeparam=article.artcriteria12
left outer join artcriteria13 on artcriteria13.parcodeparam=article.artcriteria13
left outer join artcriteria19 on artcriteria19.parcodeparam=article.artcriteria19
left outer join artcriteria8 on artcriteria8.parcodeparam=article.artcriteria8
Left outer join packaging on packaging.paccodepackaging=packagearticle.paaprivilegedpackage

inner join LOTSTOCK on STONOARTICLE=ARTNOARTICLE
Left outer join EMPLACEMENT on EMPLACEMENT. EMPCODE=STOLOCATEMPLACEMENT
left outer join STOCRITERIA1 on STOCRITERIA1.parcodeparam=LOTSTOCK.STOCRITERIA1
left outer join STOCRITERIA2 on STOCRITERIA2.parcodeparam=LOTSTOCK.STOCRITERIA2
Left outer join DEPOT on DEPOT.PARCODEPARAM=LOTSTOCK.STODEPOT
where artnoarticle<>'9995'

  
and stooutofdate<>1
and STODEPOT <>'ZZZ'
and trfnocostident=3


where (PAAPRIORITY=1 or paadefault=1 )  

 message erreur XTX systems interbase6 ODBC Driver, Dynamic SQL Error code =- 104, token unknown line 74 column 1 where

and ARTMAINSUPPLIER=20


Je vous remercie pour votre aide, je ne comprends pas encore la logique du code.

Bonne journée.

Pascal
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

je ne connais pas Firebird, mais la fin de ta requête est étrange :

Left outer join DEPOT on DEPOT.PARCODEPARAM=LOTSTOCK.STODEPOT 
where artnoarticle<>'9995' 


and stooutofdate<>1 
and STODEPOT <>'ZZZ' 
and trfnocostident=3 


where (PAAPRIORITY=1 or paadefault=1 ) 


il y a 2 where.

Ajouter un commentaire
Utile
+0
moins plus
Le 2eme Where c'est moi qui l'ai ajouté et ca ne fonctionne pas, j'ai essayé avec and, mais la j'ai les 2 champs ?

Je ne trouve pas le bon code ?

Je continue à cogiter ...
Ajouter un commentaire
Utile
+0
moins plus
Ok,

mais en fait, je ne vois pas la limite entre la requête et le message d'erreur.

where artnoarticle<>'9995' 


and stooutofdate<>1 
and STODEPOT <>'ZZZ' 
and trfnocostident=3 


where (PAAPRIORITY=1 or paadefault=1 ) 

message erreur XTX systems interbase6 ODBC Driver, Dynamic SQL Error code =- 104, token unknown line 74 column 1 where 

and ARTMAINSUPPLIER=20 


Utilises la balise <code>, on y verra peut-être un peu + clair...

A+
HDU 2408Messages postés mardi 11 février 2003Date d'inscription ContributeurStatut 18 novembre 2016 Dernière intervention - 17 oct. 2016 à 22:34
Pour la balise <code>,

vois ici :
http://www.commentcamarche.net/faq/4622-ccm-astuces-et-conseils-pour-la-redaction#code
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Bonjour HDU,

Bon j'ai essayé de comprendre à quoi correspondait le code, mais je ne comprends pas comment je peux faire un lien sur mon fichier excel.

Je suis débutant dans ce domaine, j’écris du code par déduction de ce que m'a fait l'informaticien.

Bonne journée
HDU 2408Messages postés mardi 11 février 2003Date d'inscription ContributeurStatut 18 novembre 2016 Dernière intervention - 19 oct. 2016 à 19:35
Ce n'est pas ce que je te demandais, je te disais de coller ton code sql entre
 <code> et 
</code>
Répondre
pascalou83400 147Messages postés dimanche 20 juillet 2014Date d'inscription 27 octobre 2016 Dernière intervention - 19 oct. 2016 à 20:29
de mettre "et" entre les 2 champs, c'est ca que tu veux dire, je sais je suis un boulet en informatique.
bonne soirée.

Pascal
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Bonjour,

Ce que tu mets dans la clause WHERE va filtrer les résultats affichés, et non modifier les colonnes fournies.

Si je comprends bien ta demande, ce que tu veux, c'est que la valeur Cond_def vale PAAPRIORITY si ça existe, ou PAADEFAULT sinon.

Pour ça, enlève tes conditions dans le WHERE, elles sont inutiles ; et remplace
paadefault as Cond_def

par
ISNULL(paapriority, paadefault) as Cond_def


Xavier
Ajouter un commentaire
Utile
+0
moins plus
Bonjour Reivax962,

Bon je m'explique mal, mais ta réponse va m'éclairer, j'ai dans une table 2 champs paapriority et paadefault, qui me renvoie chacun une info et j'ai besoin d'avoir comme retour d'info paapriority si il existe ou sinon paadefault qui existe toujours.

Donc j'en ai déduit que je demandai cela dans from comme toutes mes demandes de résultat.



Merci pour ton aide.

Pascal
Ajouter un commentaire
Utile
+0
moins plus
Bon j'ai essayé ISNULL(paapriority, paadefault) as Cond_def dans select et dans from, ca ne fonctionne pas, message d'erreur sur isnull.

Bon je continue à chercher.

Bonne soirée.

Pascal
Reivax962 2932Messages postés jeudi 16 juin 2005Date d'inscription 8 décembre 2016 Dernière intervention - 24 oct. 2016 à 14:20
Bonjour,

ISNULL est la fonction que tu recherches, je t'assure :)
Si tu as un message d'erreur, c'est peut-être que les deux colonnes n'ont pas le même type.
Je peux t'aider si tu me donnes :
- Le message d'erreur exact ;
- La valeur que prend la colonne PAAPRIORITY quand elle n'a pas de valeur (NULL ? Chaine vide ? 0 ?)
- Le type de ces deux colonnes.

Xavier
Répondre
Ajouter un commentaire
Utile
+0
moins plus
Tu ne veux vraiment pas mettre tout ton code sql ici, entre les balises '<code> ?
Ajouter un commentaire
Utile
+0
moins plus
Bonjour HDU,

Wahou je viens de comprendre ce que tu voulais, désolé je ne ne comprenais pas comment fonctionner "le code" je viens de trouver l'explication et l'icone pour le faire.
Je te mets le code en entier.
SELECT STOCOMMENT as Commentaire, 
article.ARTNOARTICLE as Code,
 article.ARTSORT as Genre,  case when artvariety<>'' then artspecies||' '||artvariety else artspecies end as Espece_Variete, 
stocriteria1.pardesignation as Etat_lot,
 artcriteria1.pardesignation as Diam_pot,
 artpresentation.pardesignation as Litrage, 
artcriteria3.pardesignation as Presentation,
artcriteria2.pardesignation as Presentation, 
unvdesignation as Taille,  
artcriteria4.pardesignation as Diam_tete,
 artcriteria9.pardesignation as HT_total,
DEPOT.PARDESIGNATION as Site,
EMPLACEMENT.EMPDESIGNATION as Parcelle_lot,
stocriteria2.pardesignation as Marquage,
 paaprivilegedpackage as Condition,
packaging.pacdesignation as Condition, 
paaquantity as Qte_cond,
paaqtyprivilegedpackage as Nb_cond,
paaquantity*paaqtyprivilegedpackage as Qte_Roll,
paaqtyprivilegedpackage2 as Nb_plt_cam,
 paaqtyprivilegedpackage3 as Metrage_cam,
paaquantity*paaqtyprivilegedpackage*paaqtyprivilegedpackage2*paaqtyprivilegedpackage3 as Qte_plt_cam,
 paadefault as Cond_def, 
article.ARTCRITERIA19 as Code_tri, 
artcriteria19.pardesignation as tri, 
artcriteria8 as Initial_fourn,
article.ARTPRICEREFMARGIN as Tarif_PR,
trfcostvalue  as Tarif_Palmacea,

artcriteria12.pardesignation as Notre_Selection,
STOBEGINDATEAVAILABLE,
ARTQTEN1,
ARTQTEN,
STOQTYRESERVORDER,
Stostockphysique, 
Stostockdispo 


FROM article article
left outer join PACKAGEARTICLE on paanoarticle=artnoarticle
left outer join artcost on trfnoarticle=artnoarticle
left outer join supplier on cusnocustomer=artmainsupplier
left outer join artpresentation on artpresentation.parcodeparam=article.artpresentation
left outer join unitevente on unvcode=artsize
left outer join artfamily on artfamily.parcodeparam=article.artfamilycode
left outer join artcriteria5 on artcriteria5.parcodeparam=article.artcriteria5
left outer join artcriteria1 on artcriteria1.parcodeparam=article.artcriteria1
left outer join artcriteria2 on artcriteria2.parcodeparam=article.artcriteria2
left outer join artcriteria3 on artcriteria3.parcodeparam=article.artcriteria3
left outer join artcriteria9 on artcriteria9.parcodeparam=article.artcriteria9
left outer join artcriteria4 on artcriteria4.parcodeparam=article.artcriteria4
left outer join artcriteria10 on artcriteria10.parcodeparam=article.artcriteria10
left outer join artcriteria11 on artcriteria11.parcodeparam=article.artcriteria11
left outer join artcriteria6 on artcriteria6.parcodeparam=article.artcriteria6
left outer join artcriteria7 on artcriteria7.parcodeparam=article.artcriteria7
left outer join artcriteria12 on artcriteria12.parcodeparam=article.artcriteria12
left outer join artcriteria13 on artcriteria13.parcodeparam=article.artcriteria13
left outer join artcriteria19 on artcriteria19.parcodeparam=article.artcriteria19
left outer join artcriteria8 on artcriteria8.parcodeparam=article.artcriteria8
Left outer join packaging on packaging.paccodepackaging=packagearticle.paaprivilegedpackage

inner join LOTSTOCK on STONOARTICLE=ARTNOARTICLE
Left outer join EMPLACEMENT on EMPLACEMENT. EMPCODE=STOLOCATEMPLACEMENT
left outer join STOCRITERIA1 on STOCRITERIA1.parcodeparam=LOTSTOCK.STOCRITERIA1
left outer join STOCRITERIA2 on STOCRITERIA2.parcodeparam=LOTSTOCK.STOCRITERIA2
Left outer join DEPOT on DEPOT.PARCODEPARAM=LOTSTOCK.STODEPOT
where artnoarticle<>'9995'

" j'ai essayé and et j'ai les 2 infos et where plante, Reivax962 m'a proposé isnull et il plante aussi                                           (PAAPRIORITY=1 or paadefault=1 ) 
  
and stooutofdate<>1
and STODEPOT <>'ZZZ'
and trfnocostident=3


and ARTMAINSUPPLIER=20
Ajouter un commentaire
Utile
+0
moins plus
SELECT STOCOMMENT as Commentaire, 
article.ARTNOARTICLE as Code,
 article.ARTSORT as Genre,  case when artvariety<>'' then artspecies||' '||artvariety else artspecies end as Espece_Variete, 
stocriteria1.pardesignation as Etat_lot,
 artcriteria1.pardesignation as Diam_pot,
 artpresentation.pardesignation as Litrage, 
artcriteria3.pardesignation as Presentation,
artcriteria2.pardesignation as Presentation, 
unvdesignation as Taille,  
artcriteria4.pardesignation as Diam_tete,
 artcriteria9.pardesignation as HT_total,
DEPOT.PARDESIGNATION as Site,
EMPLACEMENT.EMPDESIGNATION as Parcelle_lot,
stocriteria2.pardesignation as Marquage,
 paaprivilegedpackage as Condition,
packaging.pacdesignation as Condition, 
paaquantity as Qte_cond,
paaqtyprivilegedpackage as Nb_cond,
paaquantity*paaqtyprivilegedpackage as Qte_Roll,
paaqtyprivilegedpackage2 as Nb_plt_cam,
 paaqtyprivilegedpackage3 as Metrage_cam,
paaquantity*paaqtyprivilegedpackage*paaqtyprivilegedpackage2*paaqtyprivilegedpackage3 as Qte_plt_cam,
 paadefault as Cond_def, 
article.ARTCRITERIA19 as Code_tri, 
artcriteria19.pardesignation as tri, 
artcriteria8 as Initial_fourn,
article.ARTPRICEREFMARGIN as Tarif_PR,
trfcostvalue  as Tarif_Palmacea,

artcriteria12.pardesignation as Notre_Selection,
STOBEGINDATEAVAILABLE,
ARTQTEN1,
ARTQTEN,
STOQTYRESERVORDER,
Stostockphysique, 
Stostockdispo 


FROM article article
left outer join PACKAGEARTICLE on paanoarticle=artnoarticle
left outer join artcost on trfnoarticle=artnoarticle
left outer join supplier on cusnocustomer=artmainsupplier
left outer join artpresentation on artpresentation.parcodeparam=article.artpresentation
left outer join unitevente on unvcode=artsize
left outer join artfamily on artfamily.parcodeparam=article.artfamilycode
left outer join artcriteria5 on artcriteria5.parcodeparam=article.artcriteria5
left outer join artcriteria1 on artcriteria1.parcodeparam=article.artcriteria1
left outer join artcriteria2 on artcriteria2.parcodeparam=article.artcriteria2
left outer join artcriteria3 on artcriteria3.parcodeparam=article.artcriteria3
left outer join artcriteria9 on artcriteria9.parcodeparam=article.artcriteria9
left outer join artcriteria4 on artcriteria4.parcodeparam=article.artcriteria4
left outer join artcriteria10 on artcriteria10.parcodeparam=article.artcriteria10
left outer join artcriteria11 on artcriteria11.parcodeparam=article.artcriteria11
left outer join artcriteria6 on artcriteria6.parcodeparam=article.artcriteria6
left outer join artcriteria7 on artcriteria7.parcodeparam=article.artcriteria7
left outer join artcriteria12 on artcriteria12.parcodeparam=article.artcriteria12
left outer join artcriteria13 on artcriteria13.parcodeparam=article.artcriteria13
left outer join artcriteria19 on artcriteria19.parcodeparam=article.artcriteria19
left outer join artcriteria8 on artcriteria8.parcodeparam=article.artcriteria8
Left outer join packaging on packaging.paccodepackaging=packagearticle.paaprivilegedpackage

inner join LOTSTOCK on STONOARTICLE=ARTNOARTICLE
Left outer join EMPLACEMENT on EMPLACEMENT. EMPCODE=STOLOCATEMPLACEMENT
left outer join STOCRITERIA1 on STOCRITERIA1.parcodeparam=LOTSTOCK.STOCRITERIA1
left outer join STOCRITERIA2 on STOCRITERIA2.parcodeparam=LOTSTOCK.STOCRITERIA2
Left outer join DEPOT on DEPOT.PARCODEPARAM=LOTSTOCK.STODEPOT
where artnoarticle<>'9995'
and PAAPRIORITY=1
  
and stooutofdate<>1
and STODEPOT <>'ZZZ'
and trfnocostident=3


and ARTMAINSUPPLIER=20
Ajouter un commentaire
Utile
+0
moins plus
Ha be j'ai fini par y arriver, bon maintenant je sais ce que est le code, merci HDU.
Ajouter un commentaire
Utile
+0
moins plus
une précision ce code est dans Excel et les données proviennent d'un serveur via query.
Ajouter un commentaire
Utile
+0
moins plus
Bonjour à tous,

Et bien je ne trouve pas ma solution, j'ai fait x essai de code et pas moyen de trouver le bon.

Sos si quelqu'un a une solution pour moi.

Merci.

Pascal
pascalou83400 147Messages postés dimanche 20 juillet 2014Date d'inscription 27 octobre 2016 Dernière intervention - 27 oct. 2016 à 10:24
Bonjour Xavier,

Ok mais je peux te l'envoyer comment, j'ai un pdf avec les exemples, mais je vois pas comment le mettre en ligne dans le message.
Répondre
Reivax962 2932Messages postés jeudi 16 juin 2005Date d'inscription 8 décembre 2016 Dernière intervention - 27 oct. 2016 à 11:16
Un simple copier-coller du contenu ?
Répondre
pascalou83400 147Messages postés dimanche 20 juillet 2014Date d'inscription 27 octobre 2016 Dernière intervention - 27 oct. 2016 à 14:48
pas terrible la présentation :
ce que je récupere avec le code actuel :

CODE GENRE CONDITION COND_DEF les 2 champs pour info
5638 BOUGAINVILLEA PE8 1.00 paapriority
5638 BOUGAINVILLEA VRA 1.00 paadefault
5639 BUTIA VRA 1.00 paadefault
5639 BUTIA PS1 1.00 paapriority
5640 DASYLIRION BOX 1.00 paapriority
5640 DASYLIRION VRA 1.00 paadefault
5641 DASYLIRION BOX 1.00 paapriority
5641 DASYLIRION VRA 1.00 paadefault
5642 DASYLIRION BOX 1.00 paapriority
5642 DASYLIRION VRA 1.00 paadefault
5643 DASYLIRION BOX 1.00 paapriority
5643 DASYLIRION VRA 1.00 paadefault
5644 DASYLIRION BOX 1.00 paapriority
5644 DASYLIRION VRA 1.00 paadefault

sur le server dans la table :
PAAPRIVILEGEDPACKAGE PAAPRIORITY
VRA
PE8 1

bon je n'arrive pas à faire une bonne mise en page le 1 est avec paapriotity et ce qui correspond à paadefault il est en null, et non pas en 1 comme je t'ai dit dernièrement.

je ne sais pas si cela te va ?

Merci à toi
Répondre
Reivax962 2932Messages postés jeudi 16 juin 2005Date d'inscription 8 décembre 2016 Dernière intervention - 27 oct. 2016 à 16:49
OK, je commence à y voir plus clair.


J'ai quand même deux questions :
- Quand tu dis "sur le server dans la table" -> quel est le nom de cette table ?
- Dans ça :
CODE GENRE CONDITION COND_DEF les 2 champs pour info
5638 BOUGAINVILLEA PE8 1.00 paapriority
5638 BOUGAINVILLEA VRA 1.00 paadefault
Je vois 5 champs, mais que 4 noms de colonnes...
Répondre
pascalou83400 147Messages postés dimanche 20 juillet 2014Date d'inscription 27 octobre 2016 Dernière intervention - 27 oct. 2016 à 18:32
Le code / genre provient de la table article
Condition / cond_def / paapriority de la table emballage, mais le champ paapriority regroupe paapriority et paadefault.

ca parait clair pour toi ? sinon je t'envoie mon excel ?
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !