Je suis actuellement en train d'apprendre les bases de SQL et j'ai un tutoriel de l'école qui se présente comme suit: Tous les magasins (storeid) vendent (productid, storeid) certains produits (productid) Un magasin est considéré comme un monopole si tous les produits qu'ils vendent ne sont pas vendus par un autre magasin. Comment trouver les monopoles? Je pensais sélectionner les storeid de 2 tables identiques, mais je ne suis pas sûr de la façon de continuer à partir de là.
Les tables sont ci-dessous :
Magasin :
+-----------+
| storeid |
+-----------+
| --------- |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
+-----------+
Produits :
+-------------+
| productid |
+-------------+
| --------- |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
+-------------+
Ventes :
+--------------------------+
| productid | storeid |
+--------------------------+
| -----------+------------ |
| 1 | 1 |
| 2 | 1 |
| 2 | 2 |
| 3 | 2 |
| 1 | 2 |
| 3 | 3 |
| 2 | 4 |
| 4 | 4 |
| 5 | 5 |
| 6 | 5 |
+--------------------------+
Donc, selon mon décompte, seul le magasin 5 est considéré comme un monopole, car ils vendent des produits qui ne sont pas disponibles dans les autres magasins.