"user.name想从Message表查询"
是不是user表和message表通过name来关联起来?
如果这样的话,那两种情况下,都会返回这个name值啦.

解决方案 »

  1.   

    楼主,你的表述不是很清楚呀,你输入的name是哪个表的name呀,
    user.name与Message 没有相同的name 呀 如何查询呀,不太明白,
    能否再说明一下的题,我们也好帮助你呀~~
      

  2.   

    只看:想从Message表查询如下结果:如果Message.type = 0,则到temp1表中判断是否有此User,返回Message.name
    如果Message.type = 1,则到temp2表中判断是否有此User,返回Message.name这句话,大概要这样:
    select M.name from Message M inner join Temp1 T1 
    on M.Messageid = T1.Messageid where M.type = 0
    union 
    select M.name from Message M inner join Temp2 T2 
    on M.Messageid = T2.Messageid where M.type = 1
      

  3.   

    user.name 是和temp1.user ,temp2.user关联的
    sql语句查询太慢,怎样用存储过程?
      

  4.   

    想用存儲過程簡單呀
    create procedure dbo.proce_name
    as
    begin
    select a.name,type='temp1' 
    from message a,temp1 b,user c  
    where a.messageid=b.messageid  
    and b.user=c.user
    and a.type=0
    and c.user='己知' 
    union all
    select a.name,type='temp2'
    from message a,temp2 b,user c  
    where a.messageid=b.messageid  
    and b.user=c.user
    and a.type=1
    and c.user='己知' 
    end
    有了上面的結果你想怎麼處理都可以了呀