begin process at 2012 05 27 22:58:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

Base de données

 > 

IF dans un SELECT (sql server 2000)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

IF dans un SELECT (sql server 2000)

vendredi 10 septembre 2004 à 16:05:59 | IF dans un SELECT (sql server 2000)

niek

c encore moi,

je me suis rendu compte ke apparemment, on ne peut utiliser des variables après les THEN de CASE,

dc eske qqun sait comment on fait pour integrer des IF dans la déclaration d'une colonne de table (un SELECT koi..)?????


vite, je suis en galère

le codeur-quiche
dimanche 12 septembre 2004 à 22:30:02 | Re : IF dans un SELECT (sql server 2000)

fabrice69

Administrateur CodeS-SourceS
Issu de la doc MSDN SQL Server :

Référence de Transact-SQL


IF...ELSE
Impose les conditions d'exécution d'une instruction Transact-SQL. L'instruction Transact-SQL qui suit le mot clé IF et sa condition est exécutée si la condition est remplie (lorsque l'expression booléenne renvoie la valeur TRUE). Le mot clé facultatif ELSE introduit une instruction Transact-SQL de remplacement exécutée lorsque la condition IF n'est pas remplie (si l'expression booléenne renvoie FALSE).

Syntaxe
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]

Arguments
Boolean_expression

Expression qui renvoie la valeur TRUE ou FALSE. Si l'expression booléenne contient une instruction SELECT, cette dernière doit être mise entre parenthèses.

{sql_statement | statement_block}

Toute instruction ou tout groupe d'instructions Transact-SQL tels que définis dans un bloc d'instructions. À moins que vous n'utilisiez un bloc d'instructions, la condition IF ou ELSE ne peut affecter les performances que d'une seule instruction Transact-SQL. Pour définir un bloc d'instructions, utilisez les mots clés de contrôle de flux BEGIN et END. Les instructions CREATE TABLE ou SELECT INTO doivent se référer au même nom de table si elles sont utilisées dans les deux aires IF et ELSE du bloc IF...ELSE.

Notes
Vous pouvez utiliser les constructions IF...ELSE dans des lots, dans des procédures stockées (dans lesquelles ces constructions sont souvent utilisées pour tester l'existence de certains paramètres) et dans des requêtes appropriées.

Les tests de la condition IF peuvent être imbriqués après une autre condition IF ou après une condition ELSE. Le nombre de niveaux d'imbrication est illimité.

Exemple
A. Utilisation d'un bloc IF...ELSE
Cet exemple illustre une condition IF avec un bloc d'instructions. Si le prix moyen du titre n'est pas inférieur à 15 $, il imprime le message suivant : Prix moyen du titre supérieur à 15 $).

USE pubs

IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15
BEGIN
PRINT 'The following titles are excellent mod_cook books:'
PRINT ' '
SELECT SUBSTRING(title, 1, 35) AS Title
FROM titles
WHERE type = 'mod_cook'
END
ELSE
PRINT 'Average title price is more than $15.'

Voici le jeu de résultats obtenu :

The following titles are excellent mod_cook books:

Title
-----------------------------------
Silicon Valley Gastronomic Treats
The Gourmet Microwave

(2 row(s) affected)

B. Utilisation de plusieurs blocs IF...ELSE
Cet exemple utilise deux blocs IF. Si le prix moyen du titre n'est pas inférieur à 15 $, il imprime le message suivant : Prix moyen du titre supérieur à 15 $. Si le prix moyen des livres de cuisine moderne est supérieur à 15 $, le système imprime l'instruction selon laquelle les livres de cuisine moderne sont chers.

USE pubs

IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') < $15
BEGIN
PRINT 'The following titles are excellent mod_cook books:'
PRINT ' '
SELECT SUBSTRING(title, 1, 35) AS Title
FROM titles
WHERE type = 'mod_cook'
END
ELSE
IF (SELECT AVG(price) FROM titles WHERE type = 'mod_cook') > $15
BEGIN
PRINT 'The following titles are expensive mod_cook books:'
PRINT ' '
SELECT SUBSTRING(title, 1, 35) AS Title
FROM titles
WHERE type = 'mod_cook'
END


Voir aussi

ALTER TRIGGER

BEGIN...END

CREATE TABLE

CREATE TRIGGER

ELSE (IF...ELSE)

END (BEGIN...END)

SELECT

WHILE

©1988-2000 Microsoft Corporation. Tous droits réservés.

Romelard Fabrice (Alias F___)
jeudi 7 octobre 2004 à 10:57:13 | Re : IF dans un SELECT (sql server 2000)

AshenShugar

J'ai jamais eu l'occasion de bosser sur la version 2000, mais je sais qu'avec la version 7, il y a un truc du style :

SELECT MAchin1, Case when Machin2 = Condition then Machin2 else Machin3 end case, MAchin4 FRom GROUPE_MACHIN

lol j'aime les machins


Cette discussion est classée dans : sql, server, select


Répondre à ce message

Sujets en rapport avec ce message

Probleme SQL [ par yoyo ] Mon pb ne concerne pas directement ASP mais je suppose queqq'un pourra m'aider.La requete suivante est executee sur un serveur SQLServer 7.SELECT * FR Probleme avec SQL SERVER [ par valou ] salut,j'ai un probleme pour une requete en asp sur sql server.voici mon code:Set conn = Server.CreateObject("ADODB.Connection")connstring = "driver={S SQL SERVER 2000 ???? connection [ par Troyan ] j'ai toujours systematiquement la meme erreur.cela doit etre un parametrage de SQL2K mais j'ai pas trouvé !!Help Échec de la connexion de l'utilisateu Transfert de donnees entre 2 BD SQL Server 2000! [ par ludo ] Bonjour, j ai un leger pb!Voila j ai deux bases de donnees SQL server 2000. Je veux recuperer certaines donnees d une ou +sieur tables d une BD et les SQL Server à travers un FireWall [ par mickael ] Bonjour !Je suis dans une boite où il y a un firewall, une zone "démilitarisée" accessible par internet (plusieurs serveurs sous Linux, et WIndows 200 Requete sur SQL Server depuis une page asp [ par Muad-Dib ] Quand je le fais en VB, ca marcheQuand je le fais en VBScript, ca plante...Je parle de requêtes comprenant la méthode LEFT JOIN !Qq'un peut il m'aider HELP, forum ASP SQL server [ par isa ] Bonjour,Je suis déséspéremeent à la recherche d'un forum gratuit (ou non d'ailleurs) fonctionnant sous ASP avec SQL server (+ connexion DSN).Merci de Pb Install SQL Server 7 sous 98 [ par Opo ] Bonjour, J'ai installé SQL Server 7 sur mon poste 98, version desktop en acceptant ts les paramétrages proposés... Le pb : quand je veux consulter le Pb DSN Sql Server 7 sous 98 [ par Opo ] BonjourPour me connecter à mes bases de données SQL Server 7 installées en local sur mon poste 98, j'utilise des DSN (paramétrés ds le panneau de conf GROUP BY [ par CPANICO ] J'ai un problème avec le GROUP BY avec sql servervoici la requête sql :SQL="Select *"SQL= SQL + " from reclamation"SQL= SQL + " having num_reclamation


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales