Valeurs communes à deux autres valeurs

Résolu
Maxdaless Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Maxdaless Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis novice en language SQL et je ne trouve pas de solution à mon problème (représenté sur le schéma suivant) depuis quelques jours.



Pouvez-vous me donner des pistes svp? J'ai un embrillon de solution mais apparemment je n'obtiens pas la bonne solution.

D'avance, merci!
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Sans connaitre la structure de tes tables.... ni un exemple de données présentes dans ta bdd cela va être compliqué.
De plus, ici on aide.. on ne fourni pas de code tout fait.
Commence donc par nous fournir un DUMP de ta bdd
Puis les tests que tu as effectué en expliquant exactement ce que tu obtiens... et ce que tu souhaiterais réellement avoir.

NB: On poste ses questions en Français sur le site (cela vaut également pour les schémas )

0
Maxdaless Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
Desolé pour la maladresse, donc voici mon code le plus convaicant de mes essais:

SELECT
Portfolio.Name
From product
INNER JOIN ProductContent on product.Id=ProductContent.ProductId
INNER JOIN Portfolio on Portfolio.Id=ProductContent.PortfolioId

Where product.name in('FRUCTI SELECTION CAPI','FRUCTI SELECTION VIE')
GROUP BY Portfolio.Name
HAVING COUNT(*)>1
Order by Portfolio.name



En gros je lie les tables qu'il faut (Product -> Portfolio). Je pars du principe (qui est vrai) qu'un Portfolio.name ne peut se retrouver qu'une fois dans un certain Product. Donc je recherche tous les Portfolio.names qui se retrouve dans les deux produits à investiguer ('FRUCTI SELECTION CAPI','FRUCTI SELECTION VIE') et je recherche les duplicates.

Cependant, j'obtiens trop de resultats (trop de portfolio.name). Ce que je demande c'est :
- Est-ce que ma démarche est éronnée?
- Y a t'il un autre moyen pour isoler ce type de valeur? (ce qui en soit est assez simple sur excel par exemple, mais mon prof le veut en SQL)

D'avance, merci
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Jette un oeil aux instructions DISTINCT
GROUP BY
Et éventuellement... au
HAVING COUNT(names) > 1  
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Ton schéma contient deux tables, appelées Table1 et Table2.
Ta requête contient trois tables, appelées product, ProductContent et Portfolio.
Prends le temps de nous expliquer la structure de tes tables.
Tu es novice en SQL, et cela t’empêche de répondre à l'exercice proposé par ton prof.
Ta démarche me semble en effet complètement erronée.
Le prof a-t'il déjà expliqué comment faire une jointure incluant plusieurs fois les mêmes tables? Sinon, attends qu'il explique cela pour résoudre l'exercice.
0
Maxdaless Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon merci, je cherchais juste les commandes UNION, INTERSECT, EXCEPT.
Merci à tous.
0