DECLARE @SQL VARCHAR(1000)
DECLARE @m_id VARCHAR(20)
set @m_id='jsleen'
SET @SQL = 'select m_id,trade_check,mileage,IsNull((select top 1 e_price from trade_list where id="'+ CONVERT(VARCHAR(20),@m_id)+'" order by idx desc) ,0) as t_mileage,IsNull((select top 1 ip  from usr_log where id="'+ CONVERT(VARCHAR(20),@m_id)+'" order by regdate desc),0)  as login_ip from mem_mast A where A.m_id="'+ CONVERT(VARCHAR(20),@m_id)+'"'
EXEC (@SQL)
select @SQL
执行以后提示
列的名字 'jsleen' 错误高人请帮忙,谢谢

解决方案 »

  1.   

    DECLARE   @SQL   VARCHAR(1000)
    DECLARE   @m_id   VARCHAR(20)
    set   @m_id='jsleen'
    SET   @SQL   =   
    'select m_id,trade_check,mileage,IsNull((select   top   1   e_price   from   trade_list   where   id='''+
     CONVERT(VARCHAR(20),@m_id)+'''   order   by   idx   desc)   ,0)   as   t_mileage,IsNull((select   top   1   ip     
    from   usr_log   where   id='''+   CONVERT(VARCHAR(20),@m_id)+'''   order   by   regdate   desc),0)     as   login_ip   from   mem_mast   A   where   A.m_id='''+   CONVERT(VARCHAR(20),@m_id)+''''
    EXEC   (@SQL)
    select   @SQL