select * into #TempNewCostCenter from   
            (
                    select  distinct substring(CostCenter,5,LEN(CostCenter)) as CostCenter,[Description],GETDATE() as lastUpdateTime,'Open' as Status
        FROM MDE_CostCenter T
        WHERE  CostCenter  IS NOT NULL
                        AND NOT EXISTS ( SELECT 1
                                         FROM   dbo.tbl_ExternalTable_CostCenter g
                                         WHERE   substring(t.CostCenter,5,LEN(t.CostCenter))= g.CostCenter
                                        )
                           and substring(t.CostCenter,5,LEN(t.CostCenter))<>'DUMMY' and  ISNUMERIC(substring(t.CostCenter,5,LEN(t.CostCenter)))=0
                    AND NOT EXISTS(
                    SELECT 1
                                         FROM   dbo.tbl_ExternalTable_CostCenter g
                                         WHERE   t.Description= g.CCName
                             )
                              
            ) A  加个别名

解决方案 »

  1.   

    access可以不加,但SQLSERVER还是要加的表别名
      

  2.   


    谢谢! 请问下大神 可不可以用if exists来判断 这个SQL语句是否有数据?
       select  distinct substring(CostCenter,5,LEN(CostCenter)) as CostCenter,[Description],GETDATE() as lastUpdateTime,'Open' as Status
            FROM MDE_CostCenter T
            WHERE  CostCenter  IS NOT NULL
                            AND NOT EXISTS ( SELECT 1
                                             FROM   dbo.tbl_ExternalTable_CostCenter g
                                             WHERE   substring(t.CostCenter,5,LEN(t.CostCenter))= g.CostCenter
                                            )
                               and substring(t.CostCenter,5,LEN(t.CostCenter))<>'DUMMY' and  ISNUMERIC(substring(t.CostCenter,5,LEN(t.CostCenter)))=0
                        AND NOT EXISTS(
                        SELECT 1
                                             FROM   dbo.tbl_ExternalTable_CostCenter g
                                             WHERE   t.Description= g.CCName
                                 )
                                  
      

  3.   


    这条SQL语句 咱做可以简化? 求指点!
      

  4.   


    select  distinct substring(a.CostCenter,5,LEN(CostCenter)) as CostCenter,a.[Description],GETDATE() as lastUpdateTime,'Open' as Status
    into #TempNewCostCenter
    FROM MDE_CostCenter a
    left join dbo.tbl_ExternalTable_CostCenter b on substring(a.CostCenter,5,LEN(a.CostCenter))= b.CostCenter
    left join dbo.tbl_ExternalTable_CostCenter c on a.[Description]= c.CCName
    WHERE  a.CostCenter  IS NOT NULL
    and substring(a.CostCenter,5,LEN(t.CostCenter))<>'DUMMY' 
    and  ISNUMERIC(substring(a.CostCenter,5,LEN(t.CostCenter)))=0
    and b.主鍵 is null and c.主鍵 is null