假设你有三个字段A,B,C,其中,当B='aa'的时候,C取空值。可以这样:SELECT A, B,  C = 
      CASE B
         WHEN 'aa' THEN ''
      END
FROM YourTable
WHERE ……
是不是解决了你的问题?

解决方案 »

  1.   

    where 是不是不用写?,要是当b=‘aa’时某个标签不显示怎么写?
      

  2.   

    where是不是写,完全根据你的要求。如果不写,就返回所有行。
    标签不显示是什么意思?标签是什么?
      

  3.   

    因为你是用SQL返回数据库中的数据,既然存在“当b='aa'时如何如何”的问题,那就意味着还存在“b<>'aa'”的情况。如果你返回的数据库行只有一行,那还可以理解。如果是多行,就难以理解你的意图。
    另外,你说的label.caption是界面上的控件标题,不需要用SQL语句来做,实际上SQL也做不了。改变label的caption是VB的事情,你只需:
    if b='aa' then label.caption=""
    或者
    if b='aa' then label.visible=false
      

  4.   

    这段代码是在数据环境中写的,是做报表用的,标签也是报表设计器上的.Private Sub DataReport_Initialize(),在这里面
      

  5.   

    这里仍然是VB环境。总之,SQL不可能控制界面。
      

  6.   

    你在用VB的DateReport控件?扔掉吧,随便找一个都比这个好用。就用Crystal Reports