このクエリを実行すると:
SELECT m.tag_id, m.product_id, count(m.product_id) as dups
FROM product_tag_map m
INNER JOIN category_tag_map s ON s.tag_id = m.tag_id
INNER JOIN cart_product p ON m.product_id = p.product_id
WHERE m.product_id = p.product_id
AND s.category_id =508
AND s.include =1
AND dups = (SELECT count(s.category_id) as cats FROM category_tag_map s WHERE s.category_id =508)
GROUP BY m.product_id
ORDER BY dups DESC
次のエラーが表示されます。
1054 - 'where 句' の列 'dups' が不明です
where句から重複を取り除くと、次のようになります。
tag_id product_id dups
2 7038 2
2 1294 1
そのフィールドはその場で生成されているため、where句でdupsフィールドを使用できないと思います。では、私がやろうとしていることをどのように行うことができますか?