0
給出MySQL數據庫中的兩個簡單表。用等效的EXISTS()查詢替換IN()子查詢
- 產物(具有屬性,PROD_ID,PROD_NAME ...)
- product_image(具有屬性,product_image_id,PROD_ID(引用在產品表PROD_ID),prod_image ...)
的這些表格之間的關係很直觀 - 一對多從product
到product_image
。
我需要檢索從product_image
表具有最大product_image_id
在各組產品的結果集(僅prod_image
)。
下面的查詢確實如此。
SELECT p.prod_image
FROM product_image p
WHERE p.product_image_id IN(SELECT max(pp.product_image_id)
FROM product_image pp
GROUP BY pp.prod_id)
如何使用EXISTS()
重寫此查詢?
你確定發佈的查詢返回你所需要的嗎? 'IN'中的子查詢返回'prod_id'的不同值... – a1ex07
考慮將正確的DDL(和/或sqlfiddle)與期望的結果集一起提供 - 或者是否存在賦值的特定部分? – Strawberry
IN()'查詢(如此)在ORM中不正確生成。因此,我正在尋找替代品(聯合並不總是替代品)。沒有任務。 – Tiny