5

我有以下 sql 查询

select * from tblArea where AreaDescription in ('Processing1','Geology 66','Site Infrastructure')

目前它显示了('Processing1','Geology 66','Site Infrastructure')中AreaDescription的记录

但我需要将值传递给查询,这将始终为真并显示所有记录。我知道我可以使用 where 子句

where 1=1

但在这里我需要使用 in 语句。这可能吗?

4

3 回答 3

17

我不明白你为什么需要它以及为什么不想添加where 1=1或省略WHERE,但你可以这样做:

select * from tblArea 
where AreaDescription in 
(AreaDescription,'Processing1','Geology 66','Site Infrastructure')

测试:http ://sqlfiddle.com/#!3/6e15d/1/0

于 2012-10-05T07:27:47.170 回答
1

如果您希望您的查询始终是true

  • 删除 where 子句
  • 或添加OR 1=1
于 2012-10-05T07:27:57.130 回答
0

select * from tblArea where AreaDescription in (select AreaDescription from tblArea)

于 2012-10-05T07:27:58.030 回答