帮我看看这句sql哪有问题,谢谢了。

2025-12-16 09:07:52
推荐回答(4个)
回答1:

在里你里面的sql里面也查询下 cott.grower,原因是你内连接的最后的到的结果 cott.grower > 250,注意你的条件:正如你上面所说的没有报语法错误,但是无法查出值来,但把 and cott.grower<250去掉就能查到值,你看看把这个去掉,查出的cott.grower 是多少。这个很简单,就是条件不满足。
还有select count(*) from cotton where enterprisecode=49591 and grower<250 and grower>245 and isbatch=0
这个sql说明不了任何问题,只能说明你表cotton 里面有满足的数据,但是连接之后有没有满足的数据就难说了!

回答2:

很明显就是没有数据,sql没看出来问题
建议人工排查一下,看是否存在满足条件的数据

回答3:

SELECT * FROM inspectinfo1 AS a
WHERE EXISTS(select 1 from cotton where enterprisecode=49591 and grower<250 and grower>245 and isbatch=0 AND barcode=a.barcode)

看看以上两表关联条件有没有结果集,没有为不成立

回答4:

用下面语句检测一下,BARCODE是否真能匹配上?
SELECT *
FROM INSPECTINFO1
WHERE BARCODE IN (SELECT BARCODE
FROM COTTON
WHERE ENTERPRISECODE = 49591
AND GROWER < 250
AND GROWER > 245
AND ISBATCH = 0)