Quelle est la meilleure façon d'obtenir cette matrice d'exclusion par requête.Meilleure façon d'obtenir une matrice d'exclusion via la requête
Il y a un nombre fixe de produits dans un tableau et l'idée est de savoir si un produit est vendu à un client (représenté par rangée), les autres produits (colonnes) peuvent être vendus ou non selon la matrice de règles ci-dessous. L'objectif est d'obtenir des codes de produits autorisés à être vendus pour tout code de produit vendu.
ProductCode|MRLSPN|MRLSPPN|MRLSDF|MRLSPDF|LGS|LGP|HOBN|HODF|HVO|HVOF
MRLSPN |No |No |No |No |No |Yes|No |No |No |No
MRLSPPN |No |No |No |No |No |No |No |No |No |No
MRLSDF |No |No |No |No |No |Yes|No |No |No |No
MRLSPDF |No |No |No |No |No |No |No |No |No |No
LGS |No |No |No |No |No |Yes|No |No |No |No
LGP |Yes |No |Yes |No |No |No |No |No |No |No
HOBN |No |No |No |No |Yes|Yes|No |No |No |No
HODF |No |No |No |No |Yes|Yes|No |No |No |No
HVO |Yes |Yes |Yes |Yes |Yes|Yes|Yes |Yes |No |No
HVOF |Yes |Yes |Yes |Yes |Yes|Yes|Yes |Yes |No |No
Prêt par rang à travers les colonnes.
ajouter une clé primaire composite à cette table, ou au moins une –
clé unique Vous devriez certainement avoir un PK sur la table. Soit une clé composite ou en ajoutant une colonne d'identité avec une clé unique (je préfère la clé composite personnellement dans ce cas où il n'y a pas d'informations supplémentaires à stocker) – JoshBerke
Merci Guys - Voici ce que j'ai: CREATE TABLE dbo.ProductMapping ( \t ProductID int NOT NULL, \t ProductCode varchar (30) NOT NULL ) CREATE TABLE dbo.ProductMatrix ( \t ProductSoldID int NOT NULL, -¬ \t ProductCanBeSoldID int NOT NULL, - unique, \t IsAllowed int NOT NULL - 0/1 ) - Query SELECT ProductCanBeSold = lpa.ProductCode DE dbo.ProductMapping lpc INNER JOIN LSM dbo.ProductMatrix SUR lpc.Productint = lsm.ProductSoldID ET lsm.IsAllowed = 1 INNER JOIN dbo.ProductMapping lpa ON lsm.ProductCanBeSoldID = lpa.ProductID O WH lpc.ProductCode = 'MRLSPN' –