首页
新闻
会员
周边
捐助
园子
·
关注
·
粉丝
·
会员
·
随便看看
·
消息
欢迎,请先
登录
或者
注册
。
登录
/
注册
闪存
博客
发言
小组
投递
新闻
提问
博问
添加
收藏
文库
问题反馈
问题列表
我关注的
我的博问
博问标签
单表多条件查询sql语句的问题
0
[已关闭问题]
T_USER表中有 <BR>[USER_ID] [int] IDENTITY(1,1) NOT NULL, <BR>[USER_LOGIN_NAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, <BR>[USER_REAL_NAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, <BR>[USER_NICK_NAME] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, <BR>[USER_PASSWORD] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, <BR>[SEX] [bit] NOT NULL, <BR>[COMMENT] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, <BR>[BIRTHDAY] [datetime] NULL, <BR>[COUNTRY] [int] NOT NULL, <BR>[PROVINCE] [int] NOT NULL <BR>这些列,现在我要在页面上设置[USER_LOGIN_NAME];[USER_NICK_NAME] ;[BIRTHDAY] 为条件进行查询,当条件全部为空时,查询全部,当其中一个或两个条件为空时,为空的条件不参与查询,这样的话sql怎么写?谢谢。
.NET技术
ASP.NET
张亦驰
|
初学一级
|
园豆:
200
提问于:2008-04-25 17:44
显示帮助
使用"Ctrl+Enter"可进行快捷提交,评论支持部分 Markdown 语法:[link](http://example.com) _italic_ **bold** `code`。
<
>
分享
分享您的问题
其他回答(7)
0
在查询之前,先用程序判断页面中的哪些条件不为空,可乎?
水言木
|
园豆:586
(小虾三级)
|
2008-04-25 18:25
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
添加where 1=1 ^_^
wingoo
|
园豆:1513
(小虾三级)
|
2008-04-25 19:01
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
sql = "select * from T_USER where 1=1 " if(!String.IsNullOrEmpty(txtUserLoginName.Text)){ sql += " and USER_LOGIN_NAME = " + txtUserLoginName.Text; } if(!String.IsNullOrEmpty(txtUserNickName.Text)) sql += " and USER_NICK_NAME = " + txtUserNickName.Text; } if(!String.IsNullOrEmpty(txtBirthday.Text)) sql += " and BIRTHDAY = " + txtBirthday.Text; }
丁学
|
园豆:18730
(专家六级)
|
2008-04-26 10:20
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
丁学的方法就可以。
Kenneth Byron
|
园豆:570
(小虾三级)
|
2008-04-26 15:38
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
select * from T_USER where USER_LOGIN_NAME like '%@变量%' or USER_NICK_NAME like '%@变量%' or BIRTHDAY =@变量 一条语句就可以了 就这么简单
yeyang
|
园豆:418
(菜鸟二级)
|
2008-04-28 16:16
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
SELECT * FROM T_USER WHERE (@USER_LOGIN_NAME IS NULL OR USER_LOGIN_NAME = @USER_LOGIN_NAME) AND ( (@USER_NICK_NAME IS NULL OR USER_NICK_NAME = @USER_NICK_NAME) ) AND ( (@BIRTHDAY IS NULL OR BIRTHDAY = @BIRTHDAY) )
rex xiang
|
园豆:37
(初学一级)
|
2008-04-29 13:24
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
丁学的不錯,不過我認為 1=1是多余的,可能影響性能
jimeper
|
园豆:260
(菜鸟二级)
|
2008-05-07 05:45
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
0
1=1并不是多余的,如果你所有条件都没有选中,而是要查询整张表的数据,"where"就是多余的啦,而且程序是会报错的~~
hf556
|
园豆:205
(菜鸟二级)
|
2010-12-04 12:08
编辑文本
预览
上传图片
Ctrl+Enter键快速提交
清除回答草稿
您需要
登录
以后才能回答,未注册用户请先
注册
。