怎样实现以任意条件组合进行查询

micmingboy 2003-10-18 10:15:26
是这样写吗?
select ...from .... where 条件1 and 条件2 and 条件3...
这样假如一个条件没有给出,是不是一条记录也查不出来。
应该怎样写
...全文
85 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiez 2003-10-19
  • 打赏
  • 举报
回复
用动态的SQL
如果都为空,则sql="select * from table"
else{sql="select * from table where"}
然后判断有条件的情况(一个一个的判断)
如果有条件值,就加到SQL中SQL=SQL+ AND(OR) A=条件值
依次判断完就可以得到完全的SQL
执行就可以了
(基本思想就是有值就加到SQL字符串中,最后组合成一个完整的SQL语句)
shuiniu 2003-10-19
  • 打赏
  • 举报
回复
动态sql
123456754321 2003-10-19
  • 打赏
  • 举报
回复
拼字符串
zlpanzy 2003-10-19
  • 打赏
  • 举报
回复
你可以用条件写成字符作参数的办法加入语句
有条件就在前加where ,至于or and not由具体条件定,没有就继续加一空的字符
因为你写查询总是一串字符来传的
Ouyangyifeiczy 2003-10-18
  • 打赏
  • 举报
回复
建立一个PROC,条件做为参数传递,如果有,写条件,无写'1=1' example:
create proc test1 @str1 varchar(8)
as

declare @str
if @str1<>''
set @str='field1=' +@str1
else
set @str='1=1'
....
exec ('select * from table1 where '+@str)

welyngj 2003-10-18
  • 打赏
  • 举报
回复
select ...from .... where 条件1 or 条件2 or 条件3...

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧