Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)
= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)
= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer 2000.
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min, Condition1_Max,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent être
interprété comme du numérique et d'autre en tant que alpha. Voici une requête
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message d'erreur.
Voici un exemple de requête :
SELECT
NO_MACHINE,NOM_PROCEDURE,CONDITION1_MIN,CONDITION1_MAX,CONDITION1_TOUS,CONDITION2_MIN,CONDITION2_MAX,CONDITION2_TOUS,CONDITION3_MIN,CONDITION3_MAX,CONDITION3_TOUS,CONDITION4_MIN,CONDITION4_MAX,CONDITION4_TOUS,CONDITION5_MIN,CONDITION5_MAX,CONDITION5_TOUS,CONDITION6_MIN,CONDITION6_MAX,CONDITION6_TOUS,NO_GRP_INSTRUCTIONS,RAZ_BORNE
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN >= '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <=
'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX <= '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN >=
'2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND CONDITION3_MAX
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN >=
'0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE =
'00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE =
'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN >= '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX <=
'875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN <=
'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as decimal)= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE =
'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND (cast(CONDITION1_MIN
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065) AND
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >=
'4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max num
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser sur
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
= 0.065
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
interprété comme du numérique et d'autre en tant que alpha. Voici une
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message
Voici un exemple de requête :
SELECT
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN > '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX < > '875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
>= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065)
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN > > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
= 0.065
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
interprété comme du numérique et d'autre en tant que alpha. Voici une
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message
Voici un exemple de requête :
SELECT
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN > '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX < > '875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
>= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065)
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN > > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
= 0.065
Bonjour a tous !
J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
interprété comme du numérique et d'autre en tant que alpha. Voici une
qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
condition1_min, par exemple, dès que j'ai une requête qui utilise encore
condition1_min mais non "casté" alors sql server me donne ce message
Voici un exemple de requête :
SELECT
FROM MES_PROCEDURECONDITIONS
WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
<= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN > '4'
AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
(NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND CONDITION1_MAX
cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < '2')
AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
<= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
(CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
(CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
<= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
(CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > '145418001'
AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX < > '875') AND (CONDITION4_MIN >= '4' AND CONDITION4_MAX <= '4') AND
NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
>= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
(CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) <= 0.065)
(CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN > > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation Déb.'
ORDER BY NO_MACHINE,NOM_PROCEDURE
Dans condition min et max je peux avoir des alphas et des num.
La requête est fait génériquement par un programme. J'ai besoin de vos
idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et max
et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous baser
la syntaxe (le numéro de machine devrait être une fois par exemple, je le
corrigerai après ;o))
Merci pour votre aide !!!
Par exemple je vois que tu compares tantôt condition2_min à du texte
(CONDITION2_MIN >= 'LR' ) ou à un nombre : cast(CONDITION2_MIN as decimal)
>= 0.065
Si CONDITION2_MIN contient du texte, la conversion en nombre échouera et
donnera ce message...
Quelques pistes un peu au hasard n'ayant aucune idée de ce que tu
faire :
- il serait possible d'utiliser ISNUMERIC pour voir si le champ contient
non une valeur numérique
- créer des lignes comportant chacune deux champs ( plutôt qu'une ligne
12 colonnes) pour modéliser les conditions
- ou peut-être de donner le type de borne de chaque ligne (ou SQL_VARIANT
- ou mettre les fonctions numériques dans une table et les fonctions
alphanumériques dans une autre
etc...
--
"Ric" a écrit dans le message de
news:
> Bonjour a tous !
>
> J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
2000.
> Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition1_Max,
> Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
être
> interprété comme du numérique et d'autre en tant que alpha. Voici une
requête
> qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
> condition1_min, par exemple, dès que j'ai une requête qui utilise encore
> condition1_min mais non "casté" alors sql server me donne ce message
d'erreur.
>
> Voici un exemple de requête :
>
> SELECT
>
GRP_INSTRUCTIONS,RAZ_BORNE
> FROM MES_PROCEDURECONDITIONS
>
> WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
CONDITION1_MAX
> <= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
> NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN
> '4'
> AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
> (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND
< > > 'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
> cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4'
> CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < > '2')
> AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> > > '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX
> <= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
> NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
> (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > > '145418001'
> AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
> CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX
> NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
< > > 'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as
decimal)
> >= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
> (CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
(cast(CONDITION1_MIN
> as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) < 0.065)
AND
> (CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN
> > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation
>
> ORDER BY NO_MACHINE,NOM_PROCEDURE
>
> Dans condition min et max je peux avoir des alphas et des num.
>
> La requête est fait génériquement par un programme. J'ai besoin de vos
> idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et
num
> et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous
sur
> la syntaxe (le numéro de machine devrait être une fois par exemple, je
> corrigerai après ;o))
>
> Merci pour votre aide !!!
Par exemple je vois que tu compares tantôt condition2_min à du texte
(CONDITION2_MIN >= 'LR' ) ou à un nombre : cast(CONDITION2_MIN as decimal)
>= 0.065
Si CONDITION2_MIN contient du texte, la conversion en nombre échouera et
donnera ce message...
Quelques pistes un peu au hasard n'ayant aucune idée de ce que tu
faire :
- il serait possible d'utiliser ISNUMERIC pour voir si le champ contient
non une valeur numérique
- créer des lignes comportant chacune deux champs ( plutôt qu'une ligne
12 colonnes) pour modéliser les conditions
- ou peut-être de donner le type de borne de chaque ligne (ou SQL_VARIANT
- ou mettre les fonctions numériques dans une table et les fonctions
alphanumériques dans une autre
etc...
--
"Ric" <Ric@discussions.microsoft.com> a écrit dans le message de
news:3B334DB0-CA37-41ED-BF42-294D5BCA42D9@microsoft.com...
> Bonjour a tous !
>
> J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
2000.
> Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition1_Max,
> Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
être
> interprété comme du numérique et d'autre en tant que alpha. Voici une
requête
> qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
> condition1_min, par exemple, dès que j'ai une requête qui utilise encore
> condition1_min mais non "casté" alors sql server me donne ce message
d'erreur.
>
> Voici un exemple de requête :
>
> SELECT
>
GRP_INSTRUCTIONS,RAZ_BORNE
> FROM MES_PROCEDURECONDITIONS
>
> WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
CONDITION1_MAX
> <= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
> NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN
> '4'
> AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
> (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND
< > > 'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
> cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4'
> CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < > '2')
> AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> > > '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX
> <= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
> NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
> (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > > '145418001'
> AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
> CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX
> NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
< > > 'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as
decimal)
> >= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
> (CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
(cast(CONDITION1_MIN
> as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) < 0.065)
AND
> (CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN
> > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation
>
> ORDER BY NO_MACHINE,NOM_PROCEDURE
>
> Dans condition min et max je peux avoir des alphas et des num.
>
> La requête est fait génériquement par un programme. J'ai besoin de vos
> idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et
num
> et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous
sur
> la syntaxe (le numéro de machine devrait être une fois par exemple, je
> corrigerai après ;o))
>
> Merci pour votre aide !!!
Par exemple je vois que tu compares tantôt condition2_min à du texte
(CONDITION2_MIN >= 'LR' ) ou à un nombre : cast(CONDITION2_MIN as decimal)
>= 0.065
Si CONDITION2_MIN contient du texte, la conversion en nombre échouera et
donnera ce message...
Quelques pistes un peu au hasard n'ayant aucune idée de ce que tu
faire :
- il serait possible d'utiliser ISNUMERIC pour voir si le champ contient
non une valeur numérique
- créer des lignes comportant chacune deux champs ( plutôt qu'une ligne
12 colonnes) pour modéliser les conditions
- ou peut-être de donner le type de borne de chaque ligne (ou SQL_VARIANT
- ou mettre les fonctions numériques dans une table et les fonctions
alphanumériques dans une autre
etc...
--
"Ric" a écrit dans le message de
news:
> Bonjour a tous !
>
> J'ai besoin d'aide. Commençons par la base. Je travail avec SQLServer
2000.
> Ma table a 12 colonnes de type varchar Ex.:(Condition1_Min,
Condition1_Max,
> Condition2_Min, Condition2_Max etc....) Il y a des valeurs qui doivent
être
> interprété comme du numérique et d'autre en tant que alpha. Voici une
requête
> qui ne fonctionne pas dans Query Analyser. Il semble que si je cast mon
> condition1_min, par exemple, dès que j'ai une requête qui utilise encore
> condition1_min mais non "casté" alors sql server me donne ce message
d'erreur.
>
> Voici un exemple de requête :
>
> SELECT
>
GRP_INSTRUCTIONS,RAZ_BORNE
> FROM MES_PROCEDURECONDITIONS
>
> WHERE (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'AK' AND
CONDITION1_MAX
> <= 'AK') AND (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND
> NOM_PROCEDURE = 'ChangRouleaux' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= '2' AND CONDITION1_MAX <= '2') AND (CONDITION2_MIN
> '4'
> AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE = 'Insp. Feuille Début' OR
> (NO_MACHINE = '00300') AND (CONDITION1_MIN >= 'False' AND
< > > 'False') AND (cast(CONDITION2_MIN as decimal) >= 0.065 AND
> cast(CONDITION2_MAX as decimal) <= 0.065) AND (CONDITION3_MIN >= '4'
> CONDITION3_MAX <= '4') AND (CONDITION4_MIN >= '2' AND CONDITION4_MAX < > '2')
> AND NOM_PROCEDURE = 'Inspection Final' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND (CONDITION2_MIN
> > > '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '4' AND
CONDITION3_MAX
> <= '4') AND (CONDITION4_MIN >= '0' AND CONDITION4_MAX <= '0') AND
> NOM_PROCEDURE = 'Largeur 1 re bob équ' OR (NO_MACHINE = '00300') AND
> (CONDITION1_MIN >= 'False' AND CONDITION1_MAX <= 'False') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Final 1er bob' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'AK' AND CONDITION1_MAX <= 'AK') AND
> (CONDITION2_MIN >= 'LR' AND CONDITION2_MAX <= 'LR') AND (CONDITION3_MIN
> > > '0' AND CONDITION3_MAX <= '0') AND (CONDITION4_MIN >= '4' AND
CONDITION4_MAX
> <= '4') AND NOM_PROCEDURE = 'Largeur Foil 1re bobi.' OR (NO_MACHINE > > '00300') AND (CONDITION1_MIN >= 'LR' AND CONDITION1_MAX <= 'LR') AND
> (CONDITION2_MIN >= '4' AND CONDITION2_MAX <= '4') AND NOM_PROCEDURE > > 'Largeur_PI' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN > > '145418001'
> AND CONDITION1_MAX <= '145418001') AND (CONDITION2_MIN >= '2' AND
> CONDITION2_MAX <= '2') AND (CONDITION3_MIN >= '875' AND CONDITION3_MAX
> NOM_PROCEDURE = 'Lavage' OR (NO_MACHINE = '00300') AND (CONDITION1_MIN
< > > 'False' AND CONDITION1_MAX >= 'False') AND (cast(CONDITION2_MIN as
decimal)
> >= 0.065 AND cast(CONDITION2_MAX as decimal(38,10)) <= 0.065) AND
> (CONDITION3_MIN >= '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE > > 'Standardi. Final 1er b' OR (NO_MACHINE = '00300') AND
(cast(CONDITION1_MIN
> as decimal(38,10)) >= 0.065 AND cast(CONDITION1_MAX as decimal) < 0.065)
AND
> (CONDITION2_MIN >= '2' AND CONDITION2_MAX <= '2') AND (CONDITION3_MIN
> > '4' AND CONDITION3_MAX <= '4') AND NOM_PROCEDURE = 'Standardisation
>
> ORDER BY NO_MACHINE,NOM_PROCEDURE
>
> Dans condition min et max je peux avoir des alphas et des num.
>
> La requête est fait génériquement par un programme. J'ai besoin de vos
> idées. A part me créer 12 nouvelles colonnes (donc d'avoir des min et
num
> et alpha dans ma table) je n'ai pas trouvé de solution. Ne pas vous
sur
> la syntaxe (le numéro de machine devrait être une fois par exemple, je
> corrigerai après ;o))
>
> Merci pour votre aide !!!