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 :

Regroupement avec bornes


Sujet :

Langage SQL

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut Regroupement avec bornes
    Bonjour a tous

    J'ai un probleme de requete qui pour bcp d'entres vous paraitera simpliste


    j'ai une table qui contient un numero unique (genre billet de tombola, billet de banque - AX2856 ou GE5741 -, donc au format texte) et un proprietaire

    Numero Proprio
    ------- -------
    A0..............A
    A1..............A
    A2..............A
    A3..............B
    A4..............B
    A6..............B
    A7..............A
    A8..............A
    A9..............C
    A12.............C
    A15.............A
    B1..............A
    Et j'aimerai avoir le resultat ci dessous

    Numero_debut Numero_Fin Proprio
    -------------- ----------- -------
    A1.......................A2................A
    A3.......................A6................B
    A7.......................A8................A
    A9.......................A12..............C
    A15......................A15.............A

    Alors que la requete que j'ai faite me sort

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Proprio, Min(Numero) AS Numero_debut, Max(Numero) AS Numero_Fin
    FROM tTable
    WHERE dbo_TBBagues.Bague) Between 'A1' And 'A15'
    GROUP BY proprio
    Numero_debut Numero_Fin Proprio
    -------------- ----------- -------
    A1.......................A15................A
    A3.......................A6..................B
    A9.......................A12................C

    Quelqu'un aurait il une solution a me proposer ?


    a+

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 48
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    C'est pas parce que ta table est ordonnée d'une certaine manière que cela va être le cas dans les requêtes.
    Il faut que tu fournisses un ordre qui correspond à ce que tu veux.
    En faisant un group by sur proprio:
    il fonctionne sur les éléments (si proprio = A)
    A0,A1,A2,A7,A8,A15,B1
    Pour ma part, je ne vois pas comment tu peux limiter le calcul sur A0, A1 et A2
    sans passer par un champ supplémentaire dans ta table.

    A+

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 837
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 837
    Points : 52 922
    Points
    52 922
    Billets dans le blog
    5
    Par défaut
    Cmme le dit LoveBuzz vous violez la première forme normale. Donc la requête que vous demander est impossible. Revoyez votre modèle !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    Meci pour ces reponses (sniff )

    n'etant que primaire en sql, ca veux dire quoi revoir le modele ?


    Puisue la demande semble vraiment plus complique que je ne le pensais, serait il possible d'en obtenir une en simplifiant le resultat attendu qu'au premier numero pris par un proprio en incluant d'eventuelles discontinuites dans les series ? comme pour le proprio A

    Numero_debut Proprio
    -------------- ----------- -------
    A1.....................A
    A3.....................B
    A7.....................A
    A9.....................C
    A15...................A
    Si ce n'est pas possible, je passerai par de la programation et pas par du SQL

    merci

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  5. #5
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Comment tries-tu tes enregistrements ? Sur un champ alpha, on devrait avoir le tri suivant : A1 < A12 < A2 ... ?

    Citation Envoyé par dehorter olivier
    n'etant que primaire en sql, ca veux dire quoi revoir le modele ?
    Cela signifie que si tu peux revoir ta modélisation, ce serait préférable

    Citation Envoyé par dehorter olivier
    Si ce n'est pas possible, je passerai par de la programation et pas par du SQL
    En pratique, tu te casseras beaucoup moins la tête à faire une boucle sur tes enregistrements en testant le ruptures (donc via un langage procédural) que de coder ça en SQL. Étant paresseux, c'est ce que moi je ferais en tout cas
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    l'Etant moi meme (feneant)

    c'est que j'ai fait, et ca marche

    merci pour le coup de main

    a+
    Merci d'ajouter un sur les tags qui vous ont aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment regrouper avec une condition dans une requête
    Par moilou2 dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/07/2008, 10h39
  2. calcul avec borne
    Par bech59 dans le forum Excel
    Réponses: 4
    Dernier message: 11/07/2008, 11h07
  3. Problème d'intégration avec borne infinie
    Par cozo22 dans le forum MATLAB
    Réponses: 1
    Dernier message: 02/04/2008, 15h27
  4. Regroupement avec nombre de mois différent
    Par Nessie37 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 23/11/2007, 17h27
  5. Intégration avec borne infinie
    Par Dizayeure dans le forum MATLAB
    Réponses: 3
    Dernier message: 12/11/2007, 17h03

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