当前位置: 代码迷 >> Sql Server >> SQL 拼凑
  详细解决方案

SQL 拼凑

热度:303   发布时间:2016-04-24 20:50:28.0
SQL 拼接

alter Proc GetAnswer

@Count varchar(5) =false,
@Time Varchar(5) =false,
@Support varchar(5)=false

as

declare @sql nvarchar(max)
set @sql='select AA.ID,AA.TopicID,AA.Content,AA.Posttime,
        U.UserName,U.Support,U.Avatar
        from Ask_Answer as AA
        join Jst_User.dbo.User_Info as U on U.Uid=AA.UserID'
        
if(@Count <> 'false')
begin
 set @sql='select Top '+@Count+' AA.ID,AA.TopicID,AA.Content,AA.Posttime,
        U.UserName,U.Support,U.Avatar
        from Ask_Answer as AA
        join Jst_User.dbo.User_Info as U on U.Uid=AA.UserID'
        if(@Time = 'True')
        begin
        set @sql='select Top '+@Count+' AA.ID,AA.TopicID,AA.Content,AA.Posttime,
        U.UserName,U.Support,U.Avatar
        from Ask_Answer as AA
        join Jst_User.dbo.User_Info as U on U.Uid=AA.UserID order by AA.Posttime desc'
        end
        if(@Support  = 'True')
        begin
        set @sql='select Top '+@Count+' AA.ID,AA.TopicID,AA.Content,AA.Posttime,
        U.UserName,U.Support,U.Avatar
        from Ask_Answer as AA
        join Jst_User.dbo.User_Info as U on U.Uid=AA.UserID order by U.Support desc'
        end
end
exec sp_executesql @sql      
        
 

求高手  使用拼接的方式 帮我简化下SQL语句 谢谢
  相关解决方案