请各位高手帮忙解决一下。
第一个表tb_material
第二个表tb_file其中表tb_file中的isclass和表tb_material中的materialClass是关联的!
tb_file表中存放的是学生登录后已经上交的资料记录,tb_material表示学生需要上交的所有资料。
现在我想实现这一的查询:假如现在登录的学生的id是5,那么我想查询sId=5的还需要上交的资料有哪些???同时查询结果中还应该包含哪些文件时此时的用户已经上交的!!图如下sql

解决方案 »

  1.   

    select a.*
    ,case when b.fid is null then '未交' else '已交' end as [状态]
    ,case when b.fid is null and a.endtime > getdate() then '上交'
      when b.fid is null and a.endtime <= getdate() then '上交(时间已过)' else '已交' end as [操作]
    from tb_material a
    left join tb_file b
    on a.materialClass = b.isclass and b.sid =5
      

  2.   

    case .... when ....else....end
      

  3.   

    非常感谢这位!佩服呀!我还是刚工作三个月的java程序员,SQL经验还不够足!希望以后能够多学习!