在ms sqlserver2000中
我用下面的语句查询时查询不到结果
select * from LEAVE_CHARGE_REC_detail where bill_xchg_id in
(select bill_xchg_id from bill_area_info where bill_area_stas_id=0 and bill_area_id=3)
但如果用
select * from LEAVE_CHARGE_REC_detail where bill_xchg_id in (22,33,66,88)却可以查询到结果实际上22,33,66,88就是下面语句的结果
select bill_xchg_id from bill_area_info where bill_area_stas_id=0 and bill_area_id=3谁能说下这是怎么回事啊?
我用下面的语句查询时查询不到结果
select * from LEAVE_CHARGE_REC_detail where bill_xchg_id in
(select bill_xchg_id from bill_area_info where bill_area_stas_id=0 and bill_area_id=3)
但如果用
select * from LEAVE_CHARGE_REC_detail where bill_xchg_id in (22,33,66,88)却可以查询到结果实际上22,33,66,88就是下面语句的结果
select bill_xchg_id from bill_area_info where bill_area_stas_id=0 and bill_area_id=3谁能说下这是怎么回事啊?
declare @table table
(
id int,
nvrchar nvarchar(20))
insert @table select 1,'a' union select 2,'b'
select *from @table where id in ( select id from @table)
语句本身没问题,估计是你写的字段什么的和表里没数据有关系。
不是in的问题