我正在使用子查詢來返回類別及其下的所有子類別的產品。下面是它的SQL查詢:WHERE子句返回的結果沒有在賬戶中進行子查詢
SELECT
ca.categoryid, p.*, FLOOR(prodratingtotal/prodnumratings) AS prodavgrating, 0 AS prodgroupdiscount
FROM
cart_categoryassociations ca, cart_products p
WHERE
p.prodvisible=1 AND p.prodfeatured=1 AND (ca.categoryid=47 OR ca.categoryid IN (SELECT categoryid FROM cart_categories WHERE catparentid=47))
當我運行它,它會返回僅基於p.prodvisible=1 AND p.prodfeatured=1
部分結果,忽略了(ca.categoryid=47 OR ca.categoryid IN (SELECT categoryid FROM cart_categories WHERE catparentid=47))
部分。
(換句話說,它帶回所有特色產品體系中,即使它們不屬於子查詢中提到的類別)
PS:我已經試過單獨運行括號中的一部分,它返回正確的類別。
MySQL版本5.0.8。
哪個表有別名'pi'? – 2012-04-13 10:23:40
這是我爲了簡化查詢而在此處刪除的左連接。現在刪除它。 (簡化查詢返回的結果與主查詢相同) – 2012-04-13 10:27:10