提供查询:
SELECT
tblProducts.ID, tblProducts.views, tblProducts.productName, tblProducts.isForSale, tblProducts.isLimitedStock, tblProducts.stockCount, tblProducts.description, tblProducts.weightKG, tblProducts.basePrice, tblProducts.dateCreated, tblProductCats.catName,
(SELECT COUNT(*) FROM tblProductPrices WHERE productId = tblproducts.id) AS priceMods,
(SELECT COUNT(*) FROM tblcomments WHERE productId = tblproducts.ID) AS comments,
(SELECT COUNT(*) FROM tblProductImages WHERE productID = tblproducts.id) AS imageCount
FROM
tblProducts
INNER JOIN
tblProductCats ON tblProducts.categoryID = tblProductCats.ID
如果产品的类别ID为0 (tblProducts INNER JOIN tblProductCats ON tblProducts.categoryID = tblProductCats.ID)
,它将不会返回产品记录,无论如何都要修改查询,以便它返回0为值的记录,并将类别名称显示为'孤儿“?
答案 0 :(得分:5)
SELECT ...
ISNULL(tblProductCats.catName,'Orphan') AS catName ,
/*
Or possibly...
CASE
WHEN tblProducts.categoryID = 0
THEN 'Orphan'
ELSE tblProductCats.catName
END AS catName
*/
...
FROM tblProducts
LEFT OUTER JOIN tblProductCats
ON tblProducts.categoryID = tblProductCats.ID