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

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Utilisation de clause where stockée en DB


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

Utilisation de clause where stockée en DB

vendredi 23 avril 2010 à 12:42:24 | Utilisation de clause where stockée en DB

Badside

Bonjour,

J'aimerais récupérer la somme de plusieurs montants stockés dans une table et sélectionnés sur des critères repris dans une clause where stockée dans une autre table.

Ma query est la suivante :

Code :
SELECT SUM(MONTANT) FROM TABLE_MONTANT WHERE (SELECT CLAUSE FROM TABLE_CLAUSE WHERE CRITERE1 = 'Crit1' AND CRITERE2 = 'Crit2')

Quand j'exécute la query, il me met l'erreur suivante :

Code :
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near ')'.


J'ai essayé sans les parenthèses, soit comme ceci :

Code :
SELECT SUM(MONTANT) FROM TABLE_MONTANT WHERE SELECT CLAUSE FROM TABLE_CLAUSE WHERE CRITERE1 = 'Crit1' AND CRITERE2 = 'Crit2'


Il me met alors l'erreur suivante :

Code :
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'SELECT'.


Déjà, est-ce possible ?

Si oui, comment faire ?

C'est assez urgent ...
Merci beaucoup d'avance !
vendredi 23 avril 2010 à 13:19:27 | Re : Utilisation de clause where stockée en DB

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Il te faut faire une jointure :
Code :
SELECT SUM(MONTANT) FROM TABLE_MONTANT JOIN TABLE_CLAUSE ON idTableClause = idTableMontant WHERE CRITERE1 = 'Crit1' AND CRITERE2 = 'Crit2'


Il faut bien entendu que la table TABLE_CLAUSE ait une référence vers l'id de la table TABLE_MONTANT
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
vendredi 23 avril 2010 à 14:17:53 | Re : Utilisation de clause where stockée en DB

Badside

Salut !

Merci pour ta réponse mais ce n'est pas ce que je voulais exactement.

Le but était de rendre dynamique la sélection des lignes dans la table TABLE_MONTANT par des clauses where prédéfinies dans la table TABLE_CLAUSE et portant sur les colonnes de la table TABLE_MONTANT.

Je pense que ce n'est pas possible directement par SQL mais je peux (j'aimerais) me tromper ...

Quelqu'un a une idée ?
lundi 26 avril 2010 à 20:30:51 | Re : Utilisation de clause where stockée en DB

Badside

Personne ?
lundi 26 avril 2010 à 20:48:19 | Re : Utilisation de clause where stockée en DB

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Oups, j'avais pas vu que tu avais répondu.

Une clause where est un critère de sélection. Dans ta requête initiale, tu n'as pas critère, tu n'as qu'une requête.

Si tu veux vraiment utilisée une requête imbriquée comme tu le fais, il te faut utiliser le mot-clé IN, par exemple :

Code XML :
SELECT SUM(MONTANT) FROM TABLE_MONTANT WHERE TABLE_MONTANT.CLAUSE IN (SELECT CLAUSE FROM TABLE_CLAUSE WHERE CRITERE1 = 'Crit1' AND CRITERE2 = 'Crit2')


Mais une jointure serait bien plus efficace.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement


Cette discussion est classée dans : table, code, select, clause, where


Répondre à ce message

Sujets en rapport avec ce message

Select * from * [ par ziffox ] Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur. Bonjour [ par lektrosonic ] Bonjour, Voici ma table : [code=autre][code=autre]CREATE TABLE bike_stats ( "idDay" smallint, "idStation" integer, "avSlots" integer, besoin d'aide pour un trigger [ par marcolo21 ] Bonjour tous le monde, j'aurai besoin d'aide pour un trigger. Ce trigger a pour but de noté les modifications faite dans un table dans un autre table code pour selectionner une table [ par SteeveMc ] Bonjour, Je souhaite faire une requête ajout pour ajouter tous les champs de tables que je recevrai quotidiennement à une table globale. J'aimerai, Ado.Net VB.Net Ajouter une table et des colonnes [ par MagDix ] Bonjour à tous J'aimerais me créer un table avec quelques colonnes. J'utilise VB.Net pour programmer et je suis donc avec Ado.Net et VB.Net. J'uti Afficher les colonnes d'une table [ par dah021 ] Bonjour, J'aimerais afficher les colonnes d'une table, mais sans passer par [code=autre]DESC nom_table[/code] Comment faire ? J'ai essayé [co Problème requête insert into avec select dans une autre table [ par francoissql ] Bonjour, Je cherche à copier des données d'une table vers une autre J'ai crée la requête suivante : insert into [SL_MUFIBUF-201001].[dbo].[KOSTKTR] SELECT et propriétaire d'une table [ par FPatrick ] Bonjour, J'ai une base de données avec comme propriétaire des tables un utilisateur (exemple toto.table_general) lorsque je me connecte avec l'utili Récupereration par code de l'index et de la clé d'une table SQL / Access [ par FNIAMKE ] Bonsoir Mme/Mr. Comment récuperer l'index et la clé d'une table (SQL ou access) dans une réquête ou par code. Merci de m'apporter assistance. NIAM Create table @Name [ par yanis7518 ] Bonjour à tous, je voudrais savoir s'il était possible de créer une table sql avec un nom dynamique? ex [code=autre]Declare @Id as varchar (5) Dec


Nos sponsors


Sondage...

Comparez les prix

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 : 1,654 sec (3)

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