数据库应用——简单的in子查询,请先单独执行子查询的内容
最近在验证批号主档信息中的业务类型字段(FBIZTYPE)的使用情况时,写了这样的查询:
select * from T_BD_LOTMASTER where FLOTID in (select FLOTID from T_STK_INVENTORY)
查询结果中显示即时库存使用了“非库存”类型的批号,让人感觉非常奇怪。
原来是子查询中的批号字段写错了,即时库存的批号字段是FLOT而不是FLOTID ,如果单独执行子查询的内容的话:
就会给出列名无效的提示。
这就要求我们在写这类查询的时候要特别注意,子查询中使用了主查询的字段,这是sql语法中支持的。如果并非想要在子查询中引用主查询的字段的话,最好是单独执行一下子查询。在本例中写错的sql,其结果等同于:
select * from T_BD_LOTMASTER where FLOTID=FLOTID
因此会显示所有的数据出来。
数据库应用——简单的in子查询,请先单独执行子查询的内容
最近在验证批号主档信息中的业务类型字段(FBIZTYPE)的使用情况时,写了这样的查询:select * from T_BD_LOTMASTER where FLOTID in...
点击下载文档
本文2024-09-16 18:38:55发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23491.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章