[英]How to pass a value to a subquery in MySQL
我在将值传递给MySQL中的子查询时遇到麻烦,因为我读过的内容在MySQL中是不可能的,但是我无法设法找到另一种方式来执行此查询。
从查询的第一部分开始传递的值是“ pnl_partsA.part_image”。 要获得的是不止一个制造商中存在的part_image。
SELECT manufacturer, chapter, part_image
FROM pnl_parts pnl_partsA
WHERE 1 = 1
AND part_image <> ''
#AND manufacturer = 'fiat'
#AND part_image = 'F01A050'
AND ( SELECT COUNT(chapter)
FROM ( SELECT manufacturer, chapter, part_image
FROM pnl_parts
WHERE part_image = pnl_partsA.part_image
AND part_image <> ''
AND manufacturer = pnl_partsA.manufacturer
GROUP BY manufacturer, chapter, part_image
) chaptercount
) > 1
ORDER BY part_image
;
添加更多信息...我需要获得的是重复的part_image的章节
任何帮助将不胜感激谢谢。
您可以使用Group By
并Having COUNT(*) > 1
来获得所有manufacturer
和part_image
组(具有多个行Having COUNT(*) > 1
。 我们将在“ 派生表”中使用此结果集,然后将其连接到主表中以获取相关行:
请尝试以下查询:
SELECT
pp1.manufacturer,
pp1.chapter,
pp1.part_image
FROM pnl_parts AS pp1
JOIN (
SELECT
pp2.manufacturer,
pp2.part_image
FROM pnl_parts AS pp2
WHERE pp2.part_image <> ''
GROUP BY
pp2.manufacturer,
pp2.part_image
HAVING COUNT(*) > 1
) AS dt
ON dt.manufacturer = pp1.manufacturer AND
dt.part_image = pp1.part_image
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.