数据表设计是这样的(TaskTable):
零件名称  工艺文件类型  设计   结束时间    校对  结束时间   审批    结束时间
partname filetype  design DeEndtime   collate coEndTime confirm  cfEndtime
1         工序文件      张三  2000-1-2  李四  2000-1-3  王五   2000-1-4
2         工序文件      李四   2001-2-1 张三  2001-4-3  王五   2001-4-10我采用Dbgrid显示,选择一个人名,要求显示的结果如下(比如:张三):
零件名称  工艺文件类型  任务描述 结束时间 
1         工序文件     设计     2000-1-2  
2         工序文件     校对     2001-2-1  
请问该怎么操作?该如何判断、写查询语句?很急,在线等待!

解决方案 »

  1.   

    sql String ;
    ...
    sql := 'select 零件名称,工艺文件类型,任务描述,结束时间 from TaskTable where  设计=''' + ComboBox1.Text + '''';qyData.Close;
    qyData.SQL.Clear;
    qyData.SQL.Add(sql);
    qyData.Open;
      

  2.   

    '联合查询成视图
    select partname,filetype,design as PersonName,Task='设计'
    UNION
    select partname,filetype,Collate as PersonName,Task='校对'
      

  3.   

    select partname,filetype,'设计',deendtime
    from tab
    where design='张三'
    union
    select partname,filetype,'校对',coendtime
    from tab
    where [collate]='张三'
    union
    select partname,filetype,'确认',cfendtime
    from tab
    where confirm='张三'
      

  4.   

    sql := 'select 零件名称,工艺文件类型,任务描述,结束时间 from TaskTable where  设计=''' + ComboBox1.Text + '''or 校对 = ''' + ComboBox1.Text + ''' or 审批 =''' + ComboBox1.Text + ''''