首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL选择名称相同但价格不同的行

SQL选择名称相同但价格不同的行
EN

Stack Overflow用户
提问于 2020-09-04 21:43:21
回答 2查看 92关注 0票数 1

我有两个表COMMODITY_NewCOMMODITY_Old,每个表都有一些行。我需要从COMMODITY_New中选择在COMMODITY_Old.NAME中具有名称但具有不同价格的行。

示例:

COMMODITY_New:

代码语言:javascript
复制
+------+------+
|Name  |Price |
+------+------+
|Apple |200   |
|Socks |100   |
+------+------+

COMMODITY_Old:

代码语言:javascript
复制
+------+------+
|Name  |Price |
+------+------+
|Apple |180   |
|Socks |100   |
+------+------+

新的价格并不总是更高。

我的SQL代码:

代码语言:javascript
复制
SELECT 
    NAME, PRICE
FROM 
    COMMODITY_New
WHERE 
    COMMODITY_New.NAME IN (SELECT NAME FROM somedb2.COMMODITY_Old) 
    AND COMMODITY_New.PRICE = (SELECT PRICE FROM somedb2.COMMODITY_Old)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-04 21:45:25

您可以使用EXISTS

代码语言:javascript
复制
select n.*
from commodity_new n
where exists (select 1
              from commodity_old o
              where o.name = n.name and o.price <> n.price
             );
票数 2
EN

Stack Overflow用户

发布于 2020-09-04 21:50:37

只需通过name连接这两个表,并选择具有不同价格的行。

代码语言:javascript
复制
SELECT o.name, o.price, n.price 
FROM commodity_old o INNER JOIN commodity_new n ON o.name = n.name
WHERE o.price <> n.price;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63742384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档