Non
Si tu dois trouver les départements pour un prestataire, tu vas devoir à chaque fois lire les 5 colonnes pour voir s'ils sont à zéro ou à 1. Une table n'est pas une matrice de 0 ou de 1. Tu vas vite te retrouvé embêté et à faire des requêtes de fou pour pas grand chose
Une solution simple si tu ne veux pas faire une usine à gaz serait de faire :
Une table prestataire
id_presta | nom
1 | dupont
2 | durand
3 | martin
Une table de correspondance dep_presta dont la colonne id_presta est clé étrangère sur la même colonne de la table prestataire, et dont la colonne code_dep contient les numéros des départements
Si par exemple dupont est associé aux départements 1,2,3, durand au 3 et martin aux 1 et 2, cette table contiendrait les lignes suivantes :
id_presta | code_dep
1 | 1
1 | 2
2 | 3
3 | 2
3 | 1
Trouver tous les départements pour le prestataire 'DURAND' :
SELECT d.code_dep FROM dep_presta d, prestataire p WHERE p.id_presta = d.id_presta and p.nom = 'DURAND';
Trouver tous les noms des prestataires pour le département 2 (Aisne) :
SELECT distinct p.nom FROM dep_presta d, prestataire p WHERE p.id_presta = d.id_presta and d.code_dep = 2
Partager