Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2008, 20h47   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 2
Points : 0
Points : 0
Par défaut Select in dans une requête sql

Je ne suis pas expert et j'ai voulu restituer des données d'une base en ne chercher que les données de 2008 qui ont un montant =0 avec une quantité <> 0 et inversement les montant=0 avec des quantités <> 0; j'ai écrit cette requête
Code :
1
2
3
4
5
6
7
8
9
10
11
 
SELECT DISTINCT appli_bo, support, natsupp, year, period, montant, qtite FROM matrix.tde_ei_encours 
WHERE (montant='0' AND qtite<>'0') 
OR (montant <>'0' AND qtite ='0') 
AND period IN 
(SELECT period FROM matrix.tde_ei_encours WHERE period IN ('01','02','03')) 
AND year IN 
(SELECT year FROM matrix.tde_ei_encours  WHERE year='2008') 
AND appli_bo IN 
(SELECT appli_bo FROM matrix.tde_ei_encours WHERE appli_bo NOT IN ('CR')) 
ORDER BY period, appli_bo
Seulement les données qui me sont retournées englobent les données de l'année 2007 et les données de "CR" que j'exclut pourant dans le requête. Est ce que qqun peut m'aider a construire la requête

Merci d'avance
remyhaddad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 21h15   #2
Rédacteur
 
Homme Salim
Développeur et DBA Oracle
Inscription : octobre 2006
Messages : 872
Détails du profil
Informations personnelles :
Nom : Homme Salim
Localisation : Canada

Informations professionnelles :
Activité : Développeur et DBA Oracle

Informations forums :
Inscription : octobre 2006
Messages : 872
Points : 1 100
Points : 1 100
Salut,



Code :
1
2
3
4
5
6
7
8
9
10
 
SELECT DISTINCT appli_bo, support, natsupp, YEAR, period, montant, qtite
           FROM matrix.tde_ei_encours
          WHERE period IN ('01', '02', '03')
            AND YEAR = '2008'
            AND appli_bo != 'CR'
            AND (   (montant = '0' AND qtite <> '0')
                 OR (montant <> '0' AND qtite = '0')
                )
       ORDER BY period, appli_bo
salim11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h36.


 
 
 
 
Partenaires

Hébergement Web