Précédent   Forum des professionnels en informatique > Bases de données > Langage SQL
Langage SQL Forum d'entraide sur le langage SQL et sur les questions liées à la conception de schéma (DDL). Cours SQL
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/10/2011, 10h47   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 0
Points : 0
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
Type de fichier : jpg tables.jpg (44,3 Ko, 11 affichages)
yomismo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 11h00   #2
Membre confirmé
 
Homme Grégoire MARTIN
Ingénieur développement logiciels
Inscription : janvier 2011
Messages : 128
Détails du profil
Informations personnelles :
Nom : Homme Grégoire MARTIN
Âge : 32
Localisation : France, Hauts de Seine (Île de France)

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

Informations forums :
Inscription : janvier 2011
Messages : 128
Points : 225
Points : 225
Bonjour,

c) =>
Code :
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 :
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 :
1
2
3
 
SELECT COUNT(DISTINCT S.CUSTOMER)
FROM SALES S;
f)=>
Code :
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;
__________________
Cordialement.
ORA-007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 11h28   #3
Membre émérite
 
Homme Tony
Développeur .NET
Inscription : novembre 2010
Messages : 570
Détails du profil
Informations personnelles :
Nom : Homme Tony
Localisation : France

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 570
Points : 821
Points : 821
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.
asmduty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 11h33   #4
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
pi surtout de lire ca : http://sqlpro.developpez.com/cours/sqlaz/ensembles/

Toutes les réponses sont dedans
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 12h03   #5
Membre émérite
 
Homme Tony
Développeur .NET
Inscription : novembre 2010
Messages : 570
Détails du profil
Informations personnelles :
Nom : Homme Tony
Localisation : France

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : novembre 2010
Messages : 570
Points : 821
Points : 821
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.
asmduty est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h17   #6
Membre habitué
 
Homme
Analyste-Programmeur as/400
Inscription : août 2002
Messages : 96
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 96
Points : 116
Points : 116
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
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 15h57   #7
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
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é
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h37   #8
Membre habitué
 
Homme
Analyste-Programmeur as/400
Inscription : août 2002
Messages : 96
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 96
Points : 116
Points : 116
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)
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h40   #9
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
Citation:
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...
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h43   #10
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 11 029
Points : 18 328
Points : 18 328
Envoyer un message via MSN à CinePhil
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 de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h49   #11
Membre habitué
 
Homme
Analyste-Programmeur as/400
Inscription : août 2002
Messages : 96
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 96
Points : 116
Points : 116
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
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h50   #12
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
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 )
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h54   #13
Expert Confirmé
 
Homme
Inscription : mai 2002
Messages : 1 641
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 1 641
Points : 2 634
Points : 2 634
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.
punkoff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 16h54   #14
Membre habitué
 
Homme
Analyste-Programmeur as/400
Inscription : août 2002
Messages : 96
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations professionnelles :
Activité : Analyste-Programmeur as/400
Secteur : Finance

Informations forums :
Inscription : août 2002
Messages : 96
Points : 116
Points : 116
Citation:
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
larry57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 17h18   #15
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 125
Points : 5 125
Mais bon, avec DB2 for Z/OS, pas de problème on peut coder SUBSTR(champs, 1, 3), Ouf !
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/11/2011, 17h27   #16
Membre Expert
 
Avatar de pacmann
 
Homme Pacman Pacman
Business analyst
Inscription : juin 2004
Messages : 1 417
Détails du profil
Informations personnelles :
Nom : Homme Pacman Pacman
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Business analyst
Secteur : Finance

Informations forums :
Inscription : juin 2004
Messages : 1 417
Points : 2 309
Points : 2 309
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 !
__________________

(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...

Le pacblog : http://pacmann.over-blog.com/
pacmann est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 17h47   #17
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 2 884
Détails du profil
Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 2 884
Points : 5 125
Points : 5 125
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 :
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.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 12h13   #18
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
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
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro 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 08h50.


 
 
 
 
Partenaires

Hébergement Web