我写了一条语句,如下,报错。原因是因为 blkno字段不存在。
select blkno from prjmst where prjno='H4001'
但是在下面一条语句中居然没有报错。菜鸟想知道原因,求指教。
select * from dpsddp where blkno in (select blkno from prjmst where prjno='H4001')
------解决思路----------------------
select * from dpsddp where blkno in (select blkno from prjmst where prjno='H4001')
==>
select * from dpsddp t1 where t1.blkno in (select t1.blkno from prjmst t2 where t1.prjno='H4001')
导致t2只要有数据,t1中的记录就会被全部检索出来
在多表存在连接的情况下,别名很重要
------解决思路----------------------
实际去试验了下,确实这种情况下会出现问题
