Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
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/07/2007, 13h18   #1
Membre Expert
 
Inscription : octobre 2005
Messages : 1 369
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 1 369
Points : 1 697
Points : 1 697
Envoyer un message via MSN à rad_hass
Par défaut Select From (select)

Bonjour à tous,

Je travaille dans un environnement MAINFRAME et j'ai un pb de requete, je veux faire un count sur deux colonne, mais je ne trouve pas le moyen de le faire, j'espere trouver de l'aide ici.

Ce que j'ai fais c'est :

SELECT COUNT(DISTINCT C1, C2) FROM TOTO;

Ca ne marche pas avec comme message d'erreur :

The number of arguments specified for scalar function 'COUNT' is invalid.

Donc le count ne peut pas prendre plus d'un argument, c'est ça ?

J'essaie alors
SELECT COUNT(*) FROM (SELECT DISTINCT C1, C2 FROM TOTO);

Ca ne marche pas avec comme message d'erreur :
SQL error at or before <EMPTY>


Est ce quelqu'un aurait une idée ?

Merci d'avance.
rad_hass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 16h16   #2
Membre du Club
 
Inscription : février 2007
Messages : 56
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 56
Points : 56
Points : 56
sur DB2 UDB (LUW), on aurait écrit ça de la manière suivante :

Code :
SELECT count(*) FROM TABLE(SELECT DISTINCT C1, C2 FROM toto) AS titi
Cela marche t-il sur mainframe ?
clalevee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2007, 21h22   #3
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 098
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 098
Points : 1 707
Points : 1 707
Citation:
Envoyé par clalevee
sur DB2 UDB (LUW), on aurait écrit ça de la manière suivante :

Code :
SELECT count(*) FROM TABLE(SELECT DISTINCT C1, C2 FROM toto) AS titi
Cela marche t-il sur mainframe ?
Moi j'ai déjà fait ça sur le mainframe mais avec le mot TABLE en moins ...
Remarquez ça marche aussi peut être avec

PS:
Très chère "IBM's girl" DB2 for z/OS est AUSSI UDB et ceci depuis la la V6 je crois ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2007, 17h00   #4
Membre Expert
 
Inscription : octobre 2005
Messages : 1 369
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2005
Messages : 1 369
Points : 1 697
Points : 1 697
Envoyer un message via MSN à rad_hass
Salut,

Merci bcp pour vos réponses. C'est super sympa, surtout que les deux façons marche , y a une difference au fait ?

Sinon pour me dépanner j'ai fais un :
SELECT COUNT(DISTINCT(CONCAT(C1,C2))) FROM TOTO;

C'est une bonne façon de faire à votre avis ? Entre les deux, je garde ça ou je reprends l'autre qui m'a l'air plus gourmande en terme de performence ?

En tt cas merci les gars.
rad_hass 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 10h16.


 
 
 
 
Partenaires

Hébergement Web