You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询所有商品价格均大于10的店铺及对应全部商品信息

你已经完成了核心的筛选符合条件店铺ID的逻辑,只要把这段逻辑作为过滤条件,关联两张表获取所需字段即可,参考写法如下:

SELECT 
    s.name AS `name`,
    i.name AS item_name,
    i.price AS price
FROM 
    Shops s
INNER JOIN Items i ON s.id = i.shop_id
WHERE 
    s.id IN (
        SELECT shop_id
        FROM Items
        GROUP BY shop_id
        HAVING MIN(price) > 10
    )

上述SQL的逻辑非常直白:先用子查询筛选出所有商品最低价格都大于10的店铺ID,再关联Shops表拿到店铺名称,关联Items表拿到对应店铺的所有商品信息,执行后输出的结果和你预期的完全一致。

如果希望SQL可读性更高,也可以用CTE(公共表表达式)的写法,逻辑和上面完全相同:

WITH qualified_shops AS (
    SELECT shop_id
    FROM Items
    GROUP BY shop_id
    HAVING MIN(price) > 10
)
SELECT 
    s.name AS `name`,
    i.name AS item_name,
    i.price
FROM Shops s
INNER JOIN qualified_shops qs ON s.id = qs.shop_id
INNER JOIN Items i ON s.id = i.shop_id

你之前关联出错大概率是没有对子查询筛选出的店铺ID做过滤,直接关联了全量的表数据,加上上述的过滤条件即可解决问题。


内容的提问来源于stack exchange,提问作者user13914470

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:06:02