我有一张表,表里有Demo1,Demo2,Demo3,Demo4,Demo5,Demo6这六个字段,Demo4,Demo5,Demo6这三个字段的数据为0,我在查询的时候不显示这三个字段,如何写查询语句呀。

解决方案 »

  1.   

    查询时,不选取那3个字段不就可以了.
    select demo1,demo2,demo3 from tb
      

  2.   


    Demo1  Demo2  Demo3  Demo4  Demo5  Demo6
    1      2      2      0      2      1 
    0      2      2      0      2      1
    1      3      0      9      2      1
    1      2      2      4      2      0
    1      2      2      0      0      1
    1      0      2      7      2      1岂不是没有SQL语句生成 ?
      

  3.   

    猜楼主的意思应该不是这个。
    查到某字段值为null或者是0的时候一般可以考虑在程序界面赋值‘’
      

  4.   


    create table tb (Demo1 int,Demo2 int,Demo3 int,Demo4 int,Demo5 int,Demo6 int)
    go
    insert tb  select 1,2,3,4,5,0
    declare @sql varchar(max)
    set @sql ='select Demo1,Demo2,Demo3 '
    if not exists (select 1 from tb where Demo4=0)
    set @sql =@sql+',Demo4 '
    if not exists (select 1 from tb where Demo5=0 )
    set @sql=@sql+',Demo5 ' if not exists (select 1 from tb where Demo6=0)
    set @sql=@sql+',Demo6 '

    set @sql=@sql +'from tb ' exec(@sql)

    /*
    Demo1 Demo2 Demo3 Demo4 Demo5
    1 2 3 4 5
    */
    ----你的意思是这个吗
      

  5.   


    create table tb (Demo1 int,Demo2 int,Demo3 int,Demo4 int,Demo5 int,Demo6 int)
    go
    insert tb select 1,2,3,4,5,0
    declare @sql varchar(max)
    set @sql ='select Demo1,Demo2,Demo3 '
    if not exists (select 1 from tb where Demo4=0)
    set @sql =@sql+',Demo4 '
    if not exists (select 1 from tb where Demo5=0 )
    set @sql=@sql+',Demo5 'if not exists (select 1 from tb where Demo6=0)
    set @sql=@sql+',Demo6 'set @sql=@sql +'from tb 'exec(@sql)/*
    Demo1 Demo2 Demo3 Demo4 Demo5
    1      2      3    4      5
    */
    ----你的意思是这个吗