求sql语句中带有条件的查询

问题描述

求sql语句中带有条件的查询

我现在有一张users表,有字段uid,uname,address,phone1,phone2,phone3:
我想在这张表中这样查:
主要查phone1,但是如果有一条数据的phone1位空的话,就查phone2,如果phone1,phone2都为空就查phone3,这样的SQL语句要怎么写呢,求大神帮忙解答????

解决方案

select case when phone1 is null then (
case when phone2 is null then phone3 else phone2 end
) else phone1 end from users

解决方案二:

我要查询出所有的部门,除了它自己以外。
情景:我需要对一个部门的类别进行修改,在选择它的上级部门中,我需要显示所有的部门,但需除开它自己。
请问该SQL语句应该如何写比较好?......
答案就在这里:求条件查询的sql语句
----------------------

解决方案三:

使用case when then 来查询,具体的你可以上网搜一下

解决方案四:

使用case when then 来查询

时间: 2024-10-03 12:08:59

求sql语句中带有条件的查询的相关文章

解析sql语句中left

以下是对在sql语句中left_join.inner_join中的on与where的区别进行了详细的分析介绍,需要的朋友可以参考下   table a(id, type): id     type ---------------------------------- 1      1         2      1          3      2          table b(id, class): id    class -------------------------------

什么sql语句能通过一个值查询其所在的列名

问题描述 什么sql语句能通过一个值查询其所在的列名 差不多就是这样的一个表.怎么样才能在查询[常州代派]时返回[江苏],查询[东莞直营公司]时返回[广东] 解决方案 我觉得应该采用两张表城市名一种表如下图id city1 浙江2 广东 公司一张表id 公司名 城市id1 佛山A公司 2这样通过两种表来进行查找. 解决方案二: 用SQL语句怎么查询列名?用SQL语句怎么查询列名? --转载[DB2]SQL语句 查询列名.表名等信息 解决方案三: 应该不行吧,sql查数据就是根据所在的哪张表查哪些

sql语句问题,怎么将查询出来的数据,只取第2第3条数据

问题描述 sql语句问题,怎么将查询出来的数据,只取第2第3条数据 SELECT date_format(createTime,'%Y-%m-%d') createTime from t_zx_sqzx where communityId='8' GROUP BY date_format(createTime,'%Y-%m-%d') DESC ![图片说明](http://img.ask.csdn.net/upload/201509/10/1441849698_218829.jpg) 这是从数据

在sql语句中截取字符串,处理单引号问题。

问题描述 select*fromTaskInfoWHERE1=1ANDTaskInfoCode='==''=='ANDTaskInfoIDlike'%name%'orderbyTaskInfoCode有这样一个sql语句,如何把查询条件截取出来呢.就是截取'==''=='和'%name%'两部分.还有就是怎么在一个拼写完整的sql语句中处理单引号问题?各位高手帮帮忙! 解决方案 解决方案二:用双引号不行?解决方案三:是想把条件中的单引号换成双引号但是,查询条件本身也有单引号,这个怎么处理呢?解决

sql语句-求SQL语句:实现每隔10个数据取其中的最大值和最小值

问题描述 求SQL语句:实现每隔10个数据取其中的最大值和最小值 想实现如下功能:每隔10个(或者几个,可定义)数据取其中的最大值和最小值,实在搞不定.... 解决方案 给你提示,先用limit取出10个数据,在用 Max函数Min函数得到limit结果中的最大最小值,可以嵌套查询,也可以分开两次查询 解决方案二: select max(id) from table limit 0, 10 然后你limit中的值可以用变量来控制,这样就可以取任意范围. 解决方案三: 啥叫每隔10个,是不是就是乐

sql语句中left join、inner join中的on与where的区别

原文:sql语句中left join.inner join中的on与where的区别 table a(id, type): id     type ---------------------------------- 1      1         2      1          3      2          table b(id, class): id    class --------------------------------- 1      1 2      2 sql语

解析SQL语句中Replace INTO与INSERT INTO的不同之处

本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下   REPLACE的运行与INSERT很相似.只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除. 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义.该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行. 所有列

SQL点滴31—SQL语句中@@IDENTITY和@@ROWCOUNT区别

原文:SQL点滴31-SQL语句中@@IDENTITY和@@ROWCOUNT区别  SQL语句中@@IDENTITY和@@ROWCOUNT区别 在一条 INSERT.SELECT INTO 或大容量复制语句完成后,@@IDENTITY 中包含语句生成的最后一个标识值. 如果语句未影响任何包含标识列的表,则 @@IDENTITY 返回 NULL. 如果插入了多个行,生成了多个标识值,则 @@IDENTITY 将返回最后生成的标识值. 如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入

ireport使用中文的问题(不是乱码,是不认sql语句中的中文)!

问题描述 我在建新的report模板时,使用向导的方式创建,默认的sql语句中如果包含中文,则不能正常显示结果,也没有报错.比如sql语句为"select name,age from user where name = '张三'",则在预览报表的时候,显示不出任何内容,但是在数据库中确实是存在内容的.有没有人遇到同样的问题呢....困扰很久了,帮帮忙! 解决方案 select name,age from user where name = '张三' hibernate3查询参数为中文时