J'essaie d'interroger quelques tables dans notre base de données qui contient des données produit. C'est une base de données MSSQL 2005. Le problème est qu'il retourne plusieurs lignes pour un produit lorsque j'en ai besoin pour produire une seule ligne par produit. Blow est la requête et les résultats que j'utilise.sélectionner un résultat de la requête
SELECT ProductItem.sku, ProductItem.title, ProductItem.short_desc, ProductItem.long_desc, ProductItem.active, ProductItem.product_item_id,
ProductCategory.category_desc, ProductCategoryMap.product_id, ProductCategory.active AS activecat, Product.adwords_label,
ProductItem.item_price, ProductItem.sale_price
FROM Product INNER JOIN
ProductCategoryMap INNER JOIN
ProductCategory ON ProductCategoryMap.product_category_id = ProductCategory.product_category_id ON
Product.product_id = ProductCategoryMap.product_id FULL OUTER JOIN
ProductItem ON Product.product_key = ProductItem.sku
WHERE (ProductItem.active = 1) AND (ProductCategory.active = 1)
Cela renvoie les résultats suivants:
Je sais que le problème se produit parce que le produit réside dans plusieurs catégories, mais vraiment je ne ai pas besoin dans toutes les catégories de son, juste un d'entre eux. Donc, idéalement, un seul produit pour chaque ligne retournée
Je n'arrive pas à comprendre comment faire pour que ma requête atteigne cet objectif.
Quelqu'un peut-il m'aider s'il vous plaît?
S'il existe plusieurs catégories pour un produit et que vous sélectionnez la catégorie category dans la liste de sélection. Quelle catégorie voulez-vous afficher ou vous vous fichez de celle qui est affichée? – Chandu
Pour ce projet, peu importe lequel est affiché. – tking
Ma réponse est la plus similaire à KM – SQLMason