わかっていれば、商品カテゴリを表す文字列がカンマで区切られた列があります。この場合、カラムProductCategoryID
の部分文字列関数を実行する必要がありますが、これは常に推奨されません。 列ProductTable.ProductCategoryID
を使用する代わりに、リンクテーブルProductsCategories
を列ProductID, CategoryID
にすることをお勧めします。あなたはこのような、より効率的なクエリを使用することができます。このように
----------------------
| ProductsCategories |
----------------------
| ProductID |
| CategoryID |
----------------------
:私は、正しい方法で
ProductCategoryID
列の構造を理解している場合
SELECT DISTINCT ProductTable.*
FROM ProductTable
INNER JOIN ProductsCategories ON (ProductsCategories.ProductID = ProductTable.ProductID)
WHERE CategoryID IN
(
SELECT CategoryID
FROM ProductsCategories
WHERE ProductID != ProductTable.ProductID
)
;
すべてこの、もちろん、意味を持っています:)