我需要在java中使用带有IN子句的sql查询。当IN子句是一个预定的集合时,我已经看到了这样做的建议,比如数字在这种情况下不起作用,因为集合是动态的。这是我想要做的:
select c.cust_name
from cust_acct c, has h
where c.cust_id=h.cust_id
and h.sh_add in (select a.sh_add from address a where sh_st='VA')
我没有任何错误。也就是说,代码运行我只是没有得到这个特定查询的结果
答案 0 :(得分:0)
您是否检查过您从select a.sh_add from address a where sh_st='VA'
获得正确的中间结果?
您可以将查询重写为:
select c.cust_name
from cust_acct c
inner join has h
on c.cust_id=h.cust_id
inner join address a
on h.sh_add = a.sh_add
where a.sh_st = 'VA'