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

求助:查询R/O类型间价格上涨的通用零件及修复错误SQL脚本

解决你的通用零件价格上涨查询问题

首先得说你的原脚本为啥报错——你把三个独立的SELECT语句直接堆在一起,数据库根本没法识别这种语法,得把两个类型的数据查询合理关联起来才行。

你的需求是:找同时存在于类型R和O的零件,并且该零件在R类型的价格比O类型的高(也就是从O到R价格上涨)。这里用自连接是最直接的方案,因为我们要在同一张表里关联不同类型的记录。

正确的查询脚本

SELECT 
    a.part, 
    b.price AS o_price, 
    a.price AS r_price
FROM 
    your_table_name a
INNER JOIN 
    your_table_name b ON a.part = b.part
WHERE 
    a.type = 'R' 
    AND b.type = 'O' 
    AND a.price > b.price;

脚本解释

  • 我们把同一张表分别取别名a(代表R类型的记录)和b(代表O类型的记录)
  • 通过INNER JOIN关联两个别名表的part字段,确保零件同时存在于两种类型中
  • WHERE条件过滤出a是R类型、b是O类型,并且R类型的价格高于O类型的记录
  • 最后明确指定要返回的字段,比如零件名、O类型价格、R类型价格,比SELECT *更清晰易读

如果你想保留原脚本的子查询思路,也可以写成这样:

SELECT 
    r.part, 
    o.price AS o_price, 
    r.price AS r_price
FROM 
    (SELECT part, price FROM your_table_name WHERE type = 'R') r
INNER JOIN 
    (SELECT part, price FROM your_table_name WHERE type = 'O') o ON r.part = o.part
WHERE 
    r.price > o.price;

这个写法和自连接逻辑一致,只是先把两种类型的数据分别筛选出来作为子查询,再进行关联,效果完全相同。记得把脚本里的your_table_name替换成你实际的表名哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:35:42