1
给查询:SQL更改查询,以显示孤儿
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作为值并将类别名称显示为'孤儿'?
Damnit,我正要发布相同的东西!大声笑,+1无论如何 – Codesleuth 2010-09-01 09:59:02
感谢您的答案,如果tblProducts.categoryID = 0虽然然后它不会仍然返回该记录。我想我需要使用不同类型的连接? – 2010-09-01 09:59:45
我的答案对你的问题使用了不同类型的JOIN。你说左连接不起作用吗?如果是这样,你有一个WHERE子句,你没有向我们展示将它转换为内部联接? – 2010-09-01 10:03:27