首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SELECT where not exists与另一个select语句

SELECT where not exists与另一个select语句
EN

Stack Overflow用户
提问于 2019-03-18 21:30:48
回答 3查看 45关注 0票数 0

我在这里有这个代码:

代码语言:javascript
复制
select wms.product_code, WMS.barcode from(Select id,barcode, 
concat('0',barcode,checkdigit) as zc from outerb) as outerb 
join wms on outerb.zc = wms.barcode;

我需要根据上面的查询选择/查看所有不匹配的值。

这是我已经尝试过的:

代码语言:javascript
复制
SELECT * FROM wms where not exists (select wms.product_code, WMS.barcode 
from(Select id,barcode, concat('0',barcode,checkdigit) as zc from outerb) as 
outerb 
join wms on outerb.zc = wms.barcode);

但此查询不会返回任何内容。此外,zc表也是一个临时表。

使用MySql工作台

代码语言:javascript
复制
Table: outerb
Columns:
Id int(11) AI PK 
Product_code varchar(255) 
Brand varchar(255) 
Product_desc varchar(255) 
Size varchar(255) 
Barcode varchar(255) 
checkdigit varchar(255)

Table: wms
Columns:
Id int(11) AI PK 
Product_code varchar(255) 
Barcode varchar(255)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-18 21:33:52

你可以试试下面的-

代码语言:javascript
复制
SELECT * FROM wms where not exists 
    (select 1 from outerb where concat('0',barcode,checkdigit) = wms.barcode) 
and wms.barcode like '0123%'
票数 0
EN

Stack Overflow用户

发布于 2019-03-18 21:38:28

这将为您提供在OUTERB中没有匹配的所有WMS行:

代码语言:javascript
复制
select *
from wms
where not exists
(
  select null
  from outerb o
  where concat('0', o.barcode, o.checkdigit) = wms.barcode
);

或者使用NOT IN

代码语言:javascript
复制
select *
from wms
where barcode not in (select concat('0', o.barcode, o.checkdigit) from outerb);
票数 1
EN

Stack Overflow用户

发布于 2019-03-18 21:35:55

您可以尝试:

代码语言:javascript
复制
SELECT * FROM wms where wms.barcode not in (select concat('0',barcode,checkdigit) from outerb);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55222547

复制
相关文章

相似问题

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