我有一個sql查詢返回了一些不正確的結果,因爲產品id被重複用於鏈接的產品,所以我在查詢結尾添加了以下內容,期望它僅採用任何產品ID的第一個實例:操作數應該包含1列錯誤
AND pc.products_id
IN
(SELECT
pc.products_id, MIN(categories_id)
FROM
zen_products_to_categories pc
GROUP BY
pc.products_id)
但我得到一個操作數應該包含1列(s)錯誤,當我運行的過程。我自己運行了這個查詢,它只給了我每個產品ID一次,所以不知道爲什麼我得到錯誤。
完整的查詢,我現在是:
SELECT p.products_quantity, p.abebooks_status,
p.products_id AS id,
p.products_status AS prodStatus,
FORMAT(IFNULL(s.specials_new_products_price, p.products_price),2) AS price,
pc.categories_id AS prodCatID,
c.parent_id AS catParentID,
cd.categories_name AS catName
FROM
zen_products p
JOIN zen_products_description pd ON p.products_id=pd.products_id
JOIN zen_products_to_categories pc ON p.products_id=pc.products_id
JOIN zen_categories c ON pc.categories_id=c.categories_id
JOIN zen_categories_description cd ON c.categories_id=cd.categories_id
left join zen_specials s on (s.products_id = p.products_id AND ((s.expires_date > CURRENT_DATE) OR (s.expires_date = 0)))
WHERE p.products_price > 0 and p.products_status = 1
AND pc.products_id
IN
(SELECT pc.products_id, MIN(categories_id)
FROM zen_products_to_categories pc GROUP BY pc.products_id)
ORDER BY catName ASC
誰能告訴我,爲什麼它不工作時,我增加額外的查詢,因爲它讓我百思不得其解
你是認真的!這個問題在2013年11月被問到,你在2014年10月出現並將其標記爲重複。很高興我有更好的事情與我的時間。荒謬! –