Aides requetes

thebadskull Messages postés 20 Date d'inscription dimanche 14 décembre 2003 Statut Membre Dernière intervention 29 mai 2005 - 30 déc. 2004 à 18:59
yassine_java Messages postés 32 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 3 juin 2005 - 30 déc. 2004 à 22:50
bonjour, j'ai des requetes SQL a faire dans le cadre d'un exercices, mais sur la 100aine que j'ai eu, je n'arrive pas du tout a en faire quelques une

voici les tables :

create table client (codecli varchar(20) primary key,
                     nomc varchar (20),
     catc integer,
     vilc varchar (20));

create table article (codeart varchar(20) primary key,
                      noma varchar(20),
      couleur varchar(20),
      prixachat integer,
      prixvente integer,
      qtestk integer);
      
create table commande (numcom varchar(20) primary key,
                       codecli varchar(20) constraint FK_codecli references client(codecli),
       datecom date
       );
       
create table detailcom (numcom varchar(20)constraint FK_numcom references commande (numcom),
                        codeart varchar(20) constraint FK_codeart references article (codeart),
qtecomd varchar(20),
constraint detailcom_PK primary key (numcom,codeart));


les requetes :

1/donnez les codes et nom des articles qui figurent sur la commande 97120
2/idem mais qui figurent sur les commandes du mois d'aout 97
3/les nom articles et code commandé par un client de paris
4/ les noms des client et codes ayant commandé en aout et septembre

voilà si vous n'avez pas le courage de repondre j'aimerais avoir au moin une aide au niveau des fonction a utiliser!!!

merci d'avance... :

3 réponses

1-select codeart,noma
from article,detailcom,commande
where article.codeart=detailcom.codeart
and commande.numcom=detailcom.numcom
and commande.numcom='97120';

2-
select codeart,noma
from article;detailcom,commande
where article.codeart=detailcom.codeart
and commande.numcom=detailcom.numcom
and to_char(datecom,'mm')='08'
and to_char(datecom,'yy')='97';

3-
select codeart,noma
from article,detailcom,commande,client
where article.codeart=detailcom.codeart
and commande.numcom=detailcom.numcom
and client.codecli=commande.codecli
and vilc='paris';

4-
select codecli,nomc
from client,commande
where commande.codecli=client.codecli
and to_char(datecom,'mm')='08' or to_char(datecom,'mm')='09';

je pense ke c'est kkchose comme ca...
desole si il y a des fautes..
0
cs_Chouchou182 Messages postés 252 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 25 avril 2011 1
30 déc. 2004 à 22:40
Hello
J'ai essayé de pondre quelques requêtes, les voici (il se peut qu'il y ait des erreurs):

1/
SELECT article.codeart, noma FROM detailcom, article
WHERE article.codeart = detailcom.codeart
AND numcom=97120

2/
SELECT article.codeart, noma FROM commande, detailcom, article
WHERE article.codeart = detailcom.codeart
AND commande.numcom=detailcom.numcom
AND MONTH(datecom)=8

3/
SELECT article.codeart, noma FROM article, client, commande, detailcom
WHERE client.vilc = 'Paris'
AND client.codecli = commande.codecli
AND commande.numcom = detailcom.numcom
AND detailcom.codeart = article.codeart

4/
SELECT commande.codecli, nomc
FROM commande, commande AS copie, `client`
WHERE MONTH( commande.datecom ) = 8
AND MONTH( copie.datecom ) = 9
AND commande.codecli = copie.codecli
AND commande.codecli = client.codecli

Pour la quatrième, je pense qu'une petite explication s'impose. Cette requête m'a posé quelques problèmes et je ne sais pas si ma méthode est la meilleure mais la voici: on lie la table des commandes à elle-même en utilisant le code client et on recherche dans le résultat de cette ligature l'ensemble des clients qui ont dans la première table commandé au mois d'août et dans la deuxième table commandé au mois de septembre. Ensuite retrouver le nom du client est trivial grâce à son code.

J'espère que cela t'aidera et que je n'ai pas fait d'erreurs. Vérifie tout de même car j'ai dû un tantinet modifier la structure des tables pour les rendre compatibles avec ma version de MySQL (4.0) ; de plus, selon le SGBDR que tu utilises, il se peut que certaines requêtes ne soient pas compatibles, je n'en ai aucune idée. A toi de voir.

Si tu souhaites des explications sur les premières requêtes, hésite pas, le forum est là pour ça.

Bonne année.

Chouchou
0
yassine_java Messages postés 32 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 3 juin 2005
30 déc. 2004 à 22:50
remarque :
j ai oublié de te dire ke
pour la 4 eme reponse ke j'ai ecrite ;
je suis pas trop sur ...
donc veuillez verifier
ok
bonne chance
0
Rejoignez-nous