Aide en postgreSQL
Résolu
mr linux
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
mr linux Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
mr linux Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous, j'espère que vous allez bien
chers amis j'ai besoin de votre aide...j'ai une base de données qui contient les tables suivantes:
CLIENT(NCLI,Nom,[Adresse],[ville])
COMMANDE(NCOM,Client,DateCommande,[DateLivraison])
Client réference NCLI
PRODUIT(NPRO,Libelle,Prix,[Stock],[Poids])
DETAIL(Commande,Produit,Quant)
Commande référence NCOM
Produit référence NPRO
je veux la requête qui me donne les produits commandés par tous les clients de la ville Casablance..
je serais reconnaissant si vous m'aidiez..sinon, merci d'avance...
chers amis j'ai besoin de votre aide...j'ai une base de données qui contient les tables suivantes:
CLIENT(NCLI,Nom,[Adresse],[ville])
COMMANDE(NCOM,Client,DateCommande,[DateLivraison])
Client réference NCLI
PRODUIT(NPRO,Libelle,Prix,[Stock],[Poids])
DETAIL(Commande,Produit,Quant)
Commande référence NCOM
Produit référence NPRO
je veux la requête qui me donne les produits commandés par tous les clients de la ville Casablance..
je serais reconnaissant si vous m'aidiez..sinon, merci d'avance...
A voir également:
- Aide en postgreSQL
- Navicat postgresql - Télécharger - Gestion de données
- Sql manager for postgresql - Télécharger - Bases de données
- DBConvert for Access & PostgreSQL - Télécharger - Gestion de données
6 réponses
Voyons voir si j'ai compris la nuance. Nouvelle version: on considère tous les produits achetés par des clients de Casablanca, mais on ne garde que ceux dont le nombre d'acheteurs DISTINCTS est égal au nombre total de clients de Casablanca (donc les produits qui ont été acheté par tous les clients de cette ville)
SELECT produit.numero_produit
FROM produit,commande,client,detail
WHERE produit.numero=detail.numero_produit
AND commande.numero_client=client.numero_client
AND detail.commande=commande.numero_commande
AND client.ville='casablanca'
GROUP BY produit.numero_produit
HAVING count(distinct client.numero_client) =(select count(*) from client where ville='casablanca')
SELECT produit.numero_produit
FROM produit,commande,client,detail
WHERE produit.numero=detail.numero_produit
AND commande.numero_client=client.numero_client
AND detail.commande=commande.numero_commande
AND client.ville='casablanca'
GROUP BY produit.numero_produit
HAVING count(distinct client.numero_client) =(select count(*) from client where ville='casablanca')
C'est une jointure classique multi-tables
SELECT produit.nom_du_produit
FROM produit,commande,client,detail
WHERE produit.numero=detail.numero_produit
AND commande.numero_client=client.numero_client
AND detail.commande=commande.numero_commande
AND client.ville='la ville que tu cherches'
SELECT produit.nom_du_produit
FROM produit,commande,client,detail
WHERE produit.numero=detail.numero_produit
AND commande.numero_client=client.numero_client
AND detail.commande=commande.numero_commande
AND client.ville='la ville que tu cherches'
merci estofilo pour l'aide.mais c'est pas ce que je cherche.
en fait la requête que je cherche doit me rendre les produits qui sont demandés par tous les clients de la ville casablanca alors que la requête que tu as proposée me donne les prodits demandés par les clients de casablanca.
j'espère que tu as constaté la différence.
et merci....
en fait la requête que je cherche doit me rendre les produits qui sont demandés par tous les clients de la ville casablanca alors que la requête que tu as proposée me donne les prodits demandés par les clients de casablanca.
j'espère que tu as constaté la différence.
et merci....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est une division relationnelle. Ca se prend de plusieurs manières selon sur quoi on travaille et ça peut être très tordu.
Voilà quelque-chose qui devrait marcher dans ton cas, le principe est de sélectionner tous les produits commandés par le nombre de personne de Casablanca :
Voilà quelque-chose qui devrait marcher dans ton cas, le principe est de sélectionner tous les produits commandés par le nombre de personne de Casablanca :
SELECT npro FROM detail, commande WHERE produit = npro GROUP BY npro HAVING count(*)=(SELECT count(*) FROM client WHERE ville='Casablanca')