IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Calculer un nombre de 2-uple


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut Calculer un nombre de 2-uple
    Voici mon problème je veux compter mon nombre de poste. Il s'agit du couple Date+Nom Seulement je le fais très bien dans une requète simple mais dans une grosse y'a pas moyen.

    Voici la simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Distinct DateSaisie,Poste From operationCasing Where NomPoste IN ('HT4822','HT4821','ST4420','ST4421')
    et la complexe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT Max(OperationCasing.DateSaisie) AS fin, Min(OperationCasing.DateSaisie) AS debut, Commande.diametre, Commande.epaisseur, Commande.TypeDeFiletage, Commande.grade, Commande.SpecClient, Commande.NomClient, Commande.peinture, Commande.phosphatation, Commande.GraisseManuel, Sum(OperationCasing.BoutsBons) AS SommeDeBoutsBons, Commande.CoefCasing, Commande.CoefFiletage2002, Sum(OperationCasing.TempsPresence) AS SommeDeTempsPresence, Count(*) AS CompteDePoste
    FROM OperationCasing INNER JOIN Commande ON OperationCasing.NumCommande = Commande.NumCommande
    WHERE  (((OperationCasing.NumCommande)='000000/00') AND ((OperationCasing.NomPoste) In ('HT4822','HT4821','ST4420','ST4421'))) 
    GROUP BY Commande.diametre, Commande.epaisseur, Commande.TypeDeFiletage, Commande.grade, Commande.SpecClient, Commande.NomClient, Commande.peinture, Commande.phosphatation, Commande.GraisseManuel, Commande.CoefCasing, Commande.CoefFiletage2002
    Having Count(*)=(SELECT Distinct DateSaisie,Poste From operationCasing Where NomPoste IN ('HT4822','HT4821','ST4420','ST4421'));

    J'ai testé avec un having Count(*) mais il me mets toujours la même erreur.
    Je n'utilise pas le mot réservé Exists.
    ours ours !! Au début elle est froide mais après elle est bonne!

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    il me mets toujours la même erreur.
    Et peut-on savoir laquelle ? Ainsi que ton moteur et sa version...
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    Ben "Vous avez écrit une sous-requète pouvant renvoyer plus d'un champ sans utiliser le mot réservé EXISTS dans la clause FROM de la requète principale"

    J'utilise Access 2000 en fait pour tester mes requètes avant de les utiliser dans des programmes ASP.
    ours ours !! Au début elle est froide mais après elle est bonne!

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Count(*)=(SELECT Distinct DateSaisie,Poste From operationCasing Where NomPoste IN ('HT4822','HT4821','ST4420','ST4421'));
    Je ne vois pas comment un count(*), donc un entier peut être égal à une liste de tuple de la forme (DateSaisie, Poste), peut être voulais-tu écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Count(*)=(SELECT COUNT(Distinct DateSaisie,Poste) From operationCasing Where NomPoste IN ('HT4822','HT4821','ST4420','ST4421'));
    A toi de nous le dire, nous ne savons pas à quoi le COUNT est censé être égal.

    PS : mauvaise idée d'utiliser ACCESS pour tester du SQL
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre averti Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Points : 420
    Points
    420
    Par défaut
    oui je veux compter mes 2_uples mais access m'avait jeté je crois. sinon j'ai que access pour tester le SQL ici!

    En effet Acces me dit erreur de syntaxe quand je Count sur 2 champs.
    ours ours !! Au début elle est froide mais après elle est bonne!

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Il est possible qu'ACCESS ne comprenne pas COUNT(DISTINCT xxx)
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

Discussions similaires

  1. Calcul soustraction nombre de 18chiffres
    Par peppena dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 05/08/2005, 13h46
  2. Calculer le nombre de ligne de code source
    Par yanis97 dans le forum Qualimétrie
    Réponses: 4
    Dernier message: 04/07/2005, 22h02
  3. [Debutant(e)]Calcul du nombre de ligne sous eclipse
    Par skywalker3 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 10/12/2004, 08h53
  4. calcule du nombre de jours entre 2 dates
    Par nazimb dans le forum ASP
    Réponses: 4
    Dernier message: 28/09/2004, 15h22
  5. Comparaison de base et calculs du nombre d'éléments dans Bas
    Par BXDSPORT dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/07/2004, 08h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo