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

SQL Firebird Discussion :

Recherche suivant critères


Sujet :

SQL Firebird

  1. #1
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Recherche suivant critères
    Bonjour,
    J'ai la table suivante :
    N°Pal(ette)N(bre )ColisP(ièces par)Colis
    128200
    127210
    228200
    328200
    428200

    Je cherche à identifier :
    1 : les lignes dont les N° Pal sont identiques (pas uniques)
    2 : le nombre de lignes dont les N°Pal sont uniques et dont le nombre de colis et Pcolis sont identiques
    Trop dur pour moi. J'ai tout essayé (select count distinct exists singular)... Help.
    Et merci par avance pour vos retours.

  2. #2
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Correction
    Il faut lire :
    1 28 200
    1 27 210
    2 28 200
    3 28 200
    4 28 200

    (Le retrait ne fonctionne pas !)

  3. #3
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Complément
    Il faut absolument que la requête soit écrite en SQL vFB 1.5

  4. #4
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Pour la 1° requête, ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT * FROM COLISAGE
    WHERE NO_PAL IN (
      SELECT NO_PAL
      FROM COLISAGE
      GROUP BY NO_PAL
      HAVING COUNT(NO_PAL) > 1
    )
    Et pour la 2° (si j'ai bien compris):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT COUNT(*) AS NB_PALETTE
    FROM COLISAGE
    WHERE NO_PAL IN (
        SELECT NO_PAL
        FROM COLISAGE
        GROUP BY NO_PAL
        HAVING COUNT(NO_PAL) = 1
      )
      AND NB_COLIS = 28
      AND P_COLIS = 200
    A priori ça devrait marcher, mais l'utilisation de IN me gêne un peu si tu as de gros volume.

    @+ Claudius.

  5. #5
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Requête 2
    Merci pour ta réponse.
    La 1ère requête fonctionne nickel (je l'ai arrangée de la sorte):
    Nota : le pg_requete est une fonction permettant de lancer une requête externe dans mon ERP CEGID, depuis un requêteur Windev. (je pense que tu connais mieux que moi...)

    TEXTE1= pg_requete("SELECT 'Pal. '||CGCTTXLIBR||' : '||CGCNNULIBR||' Colis de '||cgcnqteder||' p' from colis WHERE cgktnumero='"+lcktnumero+"' AND CGKTLIGNE='"+LCKTLIGNE+"' AND CGKTPSF='"+LCKTPSF+"' AND cgktsoc='"+wp_soc+"' AND CGCTTXLIBR IN(SELECT CGCTTXLIBR from colis GROUP by CGCTTXLIBR HAVING Count(CGCTTXLIBR)>1)")
    Me donne le texte suivant :
    Pal. 1: 28 Col. de 140p
    Pal. 1: 27 Col. de 140p

    par contre dans la 2nde requête, je veux compter le nombre de lignes uniques, mais regroupées en fonction du nombre de colis et de pièces dans chaque colis.
    Je veux arriver à :
    20 Pal. de 28 Col. x 140p
    13 Pal. de 28 Col. x 130p
    5 Pal. de 27 Col. x 140p.
    Bigre !!! Peut-on faire un And dans un Having ?

  6. #6
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Complément
    Dans la table ci-contre:
    1 28 200
    1 27 210
    2 28 200
    3 28 200
    4 28 210
    5 27 200

    Je veux mon premier message suivant rq 1:
    Pal. 1 : 28 Colis de 200p
    Pal. 1 : 27 Colis de 210p

    Message 2 :
    2 Pal. de 28 Col. x 200p
    1 Pal. de 28 Col. x 210 p
    1 Pal. de 27 Col. x 200p

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Alors pour la requête 2, ceci peut-être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT COUNT(C1.NO_PAL) NB_PALETTE, C1.NB_COLIS, C1.P_COLIS
    FROM COLISAGE C1
    WHERE EXISTS (
      SELECT C2.NO_PAL
      FROM COLISAGE C2
      WHERE C1.NO_PAL = C2.NO_PAL
      GROUP BY C2.NO_PAL
      HAVING COUNT(C2.NO_PAL) = 1
    )
    GROUP BY
      C1.NB_COLIS, C1.P_COLIS;

    Citation Envoyé par FabLeBon Voir le message
    Bigre !!! Peut-on faire un And dans un Having ?
    Euuh oui, bien sûr.

  8. #8
    Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Merci

    ça fonctionne très bien.
    Merci encore. ça m'économise beaucoup de recherche...

  9. #9
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par FabLeBon Voir le message

    ça fonctionne très bien.
    Merci encore.
    Y'a pas de quoi.

    Un p'tit clic sur le bouton si c'est le cas.

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

Discussions similaires

  1. [Problème] Recherche suivant deux critères
    Par zlMyght dans le forum Excel
    Réponses: 2
    Dernier message: 14/01/2015, 13h39
  2. [Batch] Recherche suivant critère et execution
    Par Thierry_V dans le forum Scripts/Batch
    Réponses: 15
    Dernier message: 13/08/2013, 01h46
  3. [XL-2007] Recherche suivant critères
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/03/2012, 16h21
  4. Réponses: 7
    Dernier message: 02/02/2005, 08h04
  5. Procédure stockée: recherche multi-critères
    Par biroule dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 01/09/2004, 16h02

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