SQL查询,一个表中有三列,而且只有一列值不为空,要求哪一列不为空,就只选择哪一列呈现出来

如题,求各位大神帮忙

select case when isnull(a,'')<>'' then a
                    when isnull(b,'')<>'' then b
                     when isnull(c,'')<>'' then c end
from 表

是要这样?

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-04
你是哪种数据库?
如果是Sql Server 那可以用 SELECT COALESCE(col1,col2) ,会优先取里面第一个非空的值返回,是非空,不是空字符串

SQL查询,一个表中有三列,而且只有一列值不为空,要求哪一列不为空,就...
select case when isnull(a,'')<>'' then a when isnull(b,'')<>'' then b when isnull(c,'')<>'' then c endfrom 表是要这样?

Oracle中查询某字段不为空的SQL语句怎么写
sql中判断非空不能用等号,因为null在sql中被看作特殊符号,必须使用关键字 is和not select * from A where info is not null 问题延展:不为空有2中种,不是空值 is not null 不是空格 <>""

sql 查询 一个表中某几列数据
1、SELECT 列名称1、列名称2...列名称n FROM 表名称 WHERE 列 运算符 值;2、SELECT * from 表名称 where 列 运算符 值(列 运算符 值,这个可以是多个,中间用and隔开)。解析:使用sql查询时,作为查询的筛选限制条件,只需要对有限制要求的字段使用where进行限制即可,无需对非限制要求的字段进...

Sql Server 查询,一共三列,怎样查出第一个列值相同,第二列值最大的第...
《按某列分组,求另一列最大或最小值所在整行数据的方法》利用子查询,试一下,很好用的(a1可根据需要去掉):select a2,a1 from tablename where taborder=(select max(taborder) from tablename a where a.a2=tablename.a2)查出结果为 a,2 b,5 c,6 ...

SQL查询,如何查询一个表中第三行,第三列的数据
其实很简单,只是取第三列的数据时候你需要知道第三列的字段名。我做了以下方法:select t.列的字段名 from (select ROWNUM As No , M.* from 表名 M) t where t.No = '3'就可以了。这里的M表和T表是一个表,也即是说如果你的表明为A的话,select t.列的字段名 from (select ...

sql 查询 一个表中某几列数据
表示从test1表中查询id为2,name和age任意的数据。1、为了对比前后查询数据,先查询表test1中的所有数据,select * from test1,如下图所示。2、再用通配符%进行模糊查询,select * from test1 where id='2' and name like '%' and age like '%',可以看到筛选后后的结果除去了id为1的数据。

如何利用SQL语句查看某一个表全部列或单个列的属性?
exec sp_columns 表名 --返回某个表列的信息 exec sp_help 表名 --查看某个表的所有信息 这些是系统的存储过程 例如:用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:SELECT name AS column_name,TYPE_NAME(system_type_id) AS column_type,...

sql中如何再判断一个字段是否为空,如果不为空然后再Select这个字段,这...
--MS-SQL SERVER用ISNULL 函数判断 select firstName + ISNULL(lastName,'默认值') from employee --要注意的是NULL值与任意值相加都为NULL

查找值不为null的列sql语句
select * from 表名 where id='01' and (name is not null and sex is not null and age is not null and addr is not null);1、如果是空字符串就 字段名= ''2、如果是不等于空字符 字段名 <> ''3、如果是 null值 就是 字段名 is null 或者 not null ...

SQL 中 返回一个Table 如果有一列没值则不显示(该列未知)可以写方法和...
这是个动态脚本问题,并且还是双层的动态脚本,而且还得用到系统表syscolumns和sysobjects declare @sql1 nvarchar(max),@sql2 nvarchar(max)---第一部分取不为空值的列名 set @sql1='set @text='' '' 'select @sql1=@sql1+'if not exists(select 1 from 表名字 where '+name+' is not...

相似回答