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 :

Quatre requêtes SQL à trouver ?


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Par défaut Quatre requêtes SQL à trouver ?
    Difficle de reprendre le SQL 10 ans apres avoir abandonné me voila face a un problème syntaxique que je n'arrive pas a résoudre!
    si vous pouvez aider?
    merci par avance

    ci joint photo des tables



    c) Write a SQL statement that returns the Sum of Sales Amount grouped by Product Category.

    d) Write a SQL statement that returns the Sum of Sales Amount grouped by Product Category having sales greater than 1500

    e) Write a SQL Statement that returns the Distinct count of customers from the Sales table

    f) Write a SQL Statement that returns a list of products that do not appear the Sales table.



    Michel Aquadié.
    Images attachées Images attachées  

  2. #2
    Membre très actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 146
    Par défaut
    Bonjour,

    c) =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT P.PRODUCT_CATEGORY,SUM(S.SALES_AMOUNT)
    FROM PRODUCT P LEFT OUTER JOIN SALES S ON P.PRODUCT_ID = S.PRODUCT_ID
    GROUP BY  P.PRODUCT_CATEGORY;
    d)=>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT P.PRODUCT_CATEGORY,SUM(S.SALES_AMOUNT)
    FROM PRODUCT P LEFT OUTER JOIN SALES S ON P.PRODUCT_ID = S.PRODUCT_ID
    GROUP BY  P.PRODUCT_CATEGORY
    HAVING SUM(S.SALES_AMOUNT) > 1500;
    e)=>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT COUNT(DISTINCT S.CUSTOMER)
    FROM SALES S;
    f)=>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT P.PRODUCT_CATEGORY
    FROM PRODUCT P LEFT OUTER JOIN SALES S ON P.PRODUCT_ID = S.PRODUCT_ID
    WHERE S.PRODUCT_ID IS NULL;

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    L'idéal aurait été de nous poster aussi tes requêtes et on t'aurait dit d'où vient ton problème plutôt que de te donner le résultat.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    pi surtout de lire ca : http://sqlpro.developpez.com/cours/sqlaz/ensembles/

    Toutes les réponses sont dedans

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Pas forcément si c'est un problème de syntaxe ça peut venir du SGBD.

    Exemple avec DB2 :

    ça marche :
    ça ne marche pas :
    il faut absoluement un espace après la virgule, ce n'est pas logique, c'est le SGBD qui est en cause, et donc sans recul on a un peu de mal à comprendre d'où vient l'erreur.

  6. #6
    Membre chevronné
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Par défaut
    Bonjour,

    Sous DB2, le se fait toujours avec un expace.
    Pour ton info :
    La base de données intégrée se nomme DB2/UDB for System i et possède toutes les fonctionnalités d'une base de données moderne. Elle est même la seule base de données au monde (en 2006 avec la version V5R4) à respecter l'intégralité des normes du Core SQL 2003.

    Larry57

  7. #7
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Ouah, le défenseur du DB2 qui vient dire que son SGBD est génial et nie toute possibilité d'axes d'amélioration...

    Forcément que ça te choque pas si tu fais du COBOL en mode colonné

  8. #8
    Membre chevronné
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Par défaut
    HA, HA, HA,

    Point de cobol, mais du free format RPG (avec du java à l'intérieur pour compliquer les choses).

    larry57
    Qui n'a pas besoin d'un DBA pour géré sa DB (qui ELLE sait se gérée TOUTE SEULE)

  9. #9
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Qui n'a pas besoin d'un DBA pour géré sa DB (qui ELLE sait se gérée TOUTE SEULE)
    Euh... pour avoir pas mal travailler sur AS400 (system i), c'est une grosse connerie marketing ca.

    Y a un seuil critique, et quand on le dépasse bein il te faudra quand même un dba pour indexer, tracer les problèmes, interpréter les stats systèmes, tunner, etc...

  10. #10
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Oh punaise ! Le RPG (GAP) ! Dans ma prime jeunesse informatique, quand j'avais en charge la surveillance d'un petit AS400 d'IBM, j'avais essayé de m'y initier mais j'avais vite abandonné à cause du formatage obligatoire du code : telle instruction ou tel paramètre commence à tel caractère de la ligne. Galère au possible ce machin !

    J'espère que ça a évolué depuis 20 ans ?
    (déjà 20 ans ! pfiou !!! )
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  11. #11
    Membre chevronné
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Par défaut
    Pour ton information, sur AS/400, les index sont des fichiers logiques qui se ré-index seul.
    Dès qu'il y a des trous (delete) dans la base, DB2 va les re-remplir ou non(paramétrage à faire lors de la création de la base).
    Si il y a besoin d'esapce, la seule solution est une épuration.

    Et le système prévient si il y a un risque de saturation des disques et téléphone si il y a d'autres soucis.

    larry57

  12. #12
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Cinephile, dans mes souvenirs (un peu plus récents que les tiens), le RPGle permet de passer en mode libre (avec une directive genre /free) et tu codes comme du C

    (Cela dit pour ma part, j'ai surtout fait du COBOL, le pied )

  13. #13
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Je vous invite a continuer ce débat sur le forum db2 mais ne vous bercez pas trop dans les illusions des MTI et conssort.

    Cependant j'espere que vous faites des réorg de temps en temps sinon boujour le gruyere, de plus vous perdez pas mal de place et ... de temps d'execution sur vos requête (les index auront des trous aussi pour information).

    Fin bref, discution qui peut être forte interessante.

  14. #14
    Membre chevronné
    Homme Profil pro
    Analyste-Programmeur IBM i, IBM Cognos TM1
    Inscrit en
    Août 2002
    Messages
    234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur IBM i, IBM Cognos TM1
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2002
    Messages : 234
    Par défaut
    Oh punaise ! Le RPG (GAP) ! Dans ma prime jeunesse informatique, quand j'avais en charge la surveillance d'un petit AS400 d'IBM, j'avais essayé de m'y initier mais j'avais vite abandonné à cause du formatage obligatoire du code : telle instruction ou tel paramètre commence à tel caractère de la ligne. Galère au possible ce machin !

    J'espère que ça a évolué depuis 20 ans ?
    Pour ton infos, oui, le langage a évolué et en terme de temps d'exécution on ne fait toujours pas mieux.
    On peux inclure dans un programme RPG des classes JAVA, le colonnage n'est plus obligatoire depuis les années 2000.

    Larry57
    Défenseur de l'AS/400

  15. #15
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Mais bon, avec DB2 for Z/OS, pas de problème on peut coder SUBSTR(champs, 1, 3), Ouf !

  16. #16
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Tu voulais plutôt citer la version sans espace pour le coup ?

    Citation Envoyé par fsmrel Voir le message
    Mais bon, avec DB2 for Z/OS, pas de problème on peut coder SUBSTR(champs, 1, 3), Ouf !

  17. #17
    Expert éminent
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 218
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par pacmann Voir le message
    Tu voulais plutôt citer la version sans espace pour le coup ?
    Exact excellent pacmann ! Je rectifie donc. Comme le dit pdz74, je cite : on peut coder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SUBSTR(COL,1,2)
    ou
    SUBSTR(COL, 1,2)
    ou
    SUBSTR(COL,1, 2)
    ou
    SUBSTR(COL, 1, 2)
    Bref, on fait comme on veut.

  18. #18
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par larry57 Voir le message
    Bonjour,

    La base de données intégrée se nomme DB2/UDB for System i et possède toutes les fonctionnalités d'une base de données moderne. Elle est même la seule base de données au monde (en 2006 avec la version V5R4) à respecter l'intégralité des normes du Core SQL 2003.

    Larry57
    Vous dites n'importe quoi.... Un petit exemple de non respect de la norme SQL par DB2 : le pilotage du niveau d’isolation des transactions (SET TRANSACTION ISOALTION LEVEL) est statique dans DB2, alors que la norme SQL précise qu'il doit d'agir d'une instruction dynamique qui peut donc être présente plus d'une fois dans un même code SQL.
    Or dans la doc DB2, cette commande ne peut apparaître qu'une seule fois dans une même étendue de code et encore, ce doit être la première instruction.
    Bref, avant de réciter bêtement les discours marketing d'IBM... il serait peut être temps d'apprendre ce qu'est le SQL et comment il fonctionne.

    Mon livre, comme mon site web peuvent vous y aider !

    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/ * * * * *

Discussions similaires

  1. Comment trouver les dernières requêtes SQL exécutées
    Par Tsunamy dans le forum Administration
    Réponses: 13
    Dernier message: 27/03/2021, 12h52
  2. Réponses: 2
    Dernier message: 12/05/2014, 11h53
  3. Peut-on trouver le trou d'une suite avec une requête SQL ?
    Par clavier12AZQSWX dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/03/2014, 07h57
  4. Requête sql, trouver une date
    Par Brenlem dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/02/2012, 09h38
  5. Réponses: 2
    Dernier message: 04/04/2006, 11h46

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