一度に複数のテーブルで検索語を検索しようとしています。私の質問は:
SELECT item.ItemID
FROM Inventory.Item item
JOIN Inventory.Category catR // each item can be in several categories
ON catR.ItemID = item.ItemID
JOIN Category.Category cat
ON cat.CategoryID = catR.CategoryID
JOIN Inventory.Brand bran
ON bran.BrandID = item.BrandID
WHERE
item.Description LIKE '%' + @term + '%'
OR
item.Description LIKE '%' + @term
OR
item.Description LIKE @term + '%'
OR
item.Description = @term
OR
cat.CategoryName LIKE '%' + @term + '%'
//same pattern as item.Description used to search CategoryName
//...
OR
bran.BrandName LIKE '%' + @term + '%'
//same pattern as item.Description used to search BrandName
//...
しかし、結果は期待どおりではありません。カテゴリ「Casement」には約50個のアイテムがありますが、term ==「Casement」の場合、アイテムに「Casement」が含まれるアイテムのみが返されます。
私は何か間違ったことをしていますか?私はこれをより良い方法で行うべきですか?