Bj
je fais un select 'nbr', count(*) sur une jointure entre 2 tables ...
sql me retourne "aucune ligne sélectionnée" alors que j'aimerais nbr 0.
la même opération sur une table seule retourne nbr 0 quand pas de ligne.
avez vous une astuce ?
Version imprimable
Bj
je fais un select 'nbr', count(*) sur une jointure entre 2 tables ...
sql me retourne "aucune ligne sélectionnée" alors que j'aimerais nbr 0.
la même opération sur une table seule retourne nbr 0 quand pas de ligne.
avez vous une astuce ?
Peux tu donner ta requête car ça marche bien avec une jointure.
Code:
1
2
3
4
5
6 SELECT 'nbr', COUNT(*) FROM dual a, dual b WHERE a.dummy = b.dummy || 'C' 'NBR' COUNT(*) nbr 0
Quelle version d'Oracle ? Avez vous un exemple ?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 Connected as mni SQL> SQL> select 'nbr', count(*) 2 from hr.employees 3 Join 4 hr.departments 5 Using (Department_Id) 6 where 1 = 2 7 / 'NBR' COUNT(*) ----- ---------- nbr 0 SQL>
oracle 10g
exemple de ma requete
aucune ligne sélectionéeCode:
1
2
3
4 select to_char(sysdate-1,'DDMMYYYY), b.periodeversement, 'NBR', count(*) from ordre_paiement c, versement d where c.refversement = d.refversement group by b.periodeversement;
j'aimerais donc : 29062010 20100615 NBR 0
Merci d'éditer ton post pour mettre la balise Code (l'icône #)
C'est pas la même chose, là tu groupes par un élément.
Il faut donc faire une jointure externe
Code:
1
2
3 select to_char(sysdate-1,'DDMMYYYY'), b.periodeversement, 'NBR', count(*) from ordre_paiement c, versement d where c.refversement = d.refversement (+) group by b.periodeversement;
merci pour ton aide mais j'ai tj le pb
Code:
1
2
3
4
5
6
7
8 select to_char (sysdate-1,'DDMMYYYY'), 'ABO',d.periodeversement, count (*), trunc(sum(d.montantversement)) from dgi_ordre_paiement c, dgi_versement d where substr(c.DATEORDREPAIEMENT,1,8) = to_char(sysdate-1,'DDMMYYYY') and c.refversement = d.refversement (+) and c.natureimpot = '20' group by d.periodeversement SQL> / aucune ligne sélectionnée
A chaque fois tu ajoutes quelque chose de nouveau dans ta requete...
au message 4 tu as ecrit ceci
et au message 6, c'est ceci
Essaye tout simplement
Si ca marche, cela voudrait dire que tes 2 autres conditions (c.natureimpot = '20' AND substr(c.DATEORDREPAIEMENT,1,8) = to_char(sysdate-1,'DDMMYYYY')) ne sont pas verifiées c'est pourquoi tu n'as aucune ligne en retour.Code:
1
2 where c.refversement = d.refversement (+)