数据库应用——简单的in子查询,请先单独执行子查询的内容

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

数据库应用——简单的in子查询,请先单独执行子查询的内容

最近在验证批号主档信息中的业务类型字段(FBIZTYPE)的使用情况时,写了这样的查询:

select * from T_BD_LOTMASTER where FLOTID in (select FLOTID from T_STK_INVENTORY)

image.webp

查询结果中显示即时库存使用了“非库存”类型的批号,让人感觉非常奇怪。

原来是子查询中的批号字段写错了,即时库存的批号字段是FLOT而不是FLOTID ,如果单独执行子查询的内容的话:

image.webp

就会给出列名无效的提示。

这就要求我们在写这类查询的时候要特别注意,子查询中使用了主查询的字段,这是sql语法中支持的。如果并非想要在子查询中引用主查询的字段的话,最好是单独执行一下子查询。在本例中写错的sql,其结果等同于:

select * from T_BD_LOTMASTER where FLOTID=FLOTID

因此会显示所有的数据出来。



数据库应用——简单的in子查询,请先单独执行子查询的内容

最近在验证批号主档信息中的业务类型字段(FBIZTYPE)的使用情况时,写了这样的查询:select * from T_BD_LOTMASTER where FLOTID in...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息