none
CTE SQL i standart SQL e dönüştürme ? RRS feed

  • Genel Tartışma

  • Merhaba

    Aşağıdaki CTE SQL Compact 3.5 versiyonda çalışmıyor. Standart Transact SQL e dönüştürebilirmisiniz ? Compact 3.5 ta çalışması için ?

    ---------------------------
    
    ---------------------------
    There was an error parsing the query. [ Token line number = 1,Token line offset = 1,Token in error = ; ]   konum: System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
    
       konum: System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior behavior, String method, ResultSetOptions options)
    
       konum: System.Data.SqlServerCe.SqlCeCommand.ExecuteReader(CommandBehavior behavior)
    
       konum: System.Data.SqlServerCe.SqlCeCommand.ExecuteDbDataReader(CommandBehavior behavior)
    
       konum: System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
    
       konum: System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
    
       konum: System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
    
       konum: System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
    
       konum: MsDataAccess.ExecuteQuery(SqlCeConnection connection, String query, Object[] pObjects) C:\_Work\_Projeler\winform\TicariSeteGiriş - SQLCompact\TicariSet\MsDataAccess.cs içinde: satır 265
    At
    ;with src as( 
    
    SELECT       
    
    x_stokhareket_F_001.x_id, x_stokhareket_F_001.x_grup2, x_stokhareket_F_001.x_grup1, 
    
    x_stokhareket_F_001.x_ozelkod2, x_stokhareket_F_001.x_ozelkod1, x_stokhareket_F_001.x_dovizkur, 
    
    x_stokhareket_F_001.x_doviztur, 
    
    x_stokhareket_F_001.x_fiyat,
    
    x_stokhareket_F_001.x_cikistutaridoviz,
    
    x_stokhareket_F_001.x_giristutaridoviz,
    
    x_stokhareket_F_001.x_cikistutari,
    
    x_stokhareket_F_001.x_giristutari,
    
    x_stokhareket_F_001.x_cikistutaridoviz+ x_stokhareket_F_001.x_giristutaridoviz AS x_stokhareket_tutardoviz, 
    
    x_stokhareket_F_001.x_cikistutari + x_stokhareket_F_001.x_giristutari AS x_stokhareket_tutar, 
    
    x_stokhareket_F_001.x_cikismiktar, 
    
    x_stokhareket_F_001.x_cikismiktartemel,
    
    x_stokhareket_F_001.x_girismiktar,
    
    x_stokhareket_F_001.x_girismiktartemel,
    
    x_stokhareket_F_001.x_cikismiktar + x_stokhareket_F_001.x_girismiktar AS x_stokhareket_miktar, 
    
    x_stokhareket_F_001.x_cikismiktartemel + x_stokhareket_F_001.x_girismiktartemel AS x_stokhareket_miktartemel,
    
    x_stokhareket_F_001.x_birim, x_stokhareket_F_001.x_temelbirim,
    
    x_stokhareket_F_001.x_aciklama, x_stokhareket_F_001.x_hareketsaati, 
    
    x_stokhareket_F_001.x_harekettarihi, 
    
    x_stokhareket_F_001.x_evrakno, 
    
    x_stokhareket_F_001.x_hareketno, 
    
    x_stokhareket_F_001.x_islemyeri, 
    
    x_stokhareket_F_001.x_evrakadi, 
    
    x_stokhareket_F_001.x_islemturu,
    
    x_stokhareket_F_001.x_faturasatishareketid,
    
    x_stokhareket_F_001.x_faturaalishareketid,
    
    x_stokkarti_F_001.x_kod, x_stokkarti_F_001.x_adi, 
    
    x_depotanimlari_F_001.x_kod AS x_depotanimlari_x_kod, 
    
    x_depotanimlari_F_001.x_adi AS x_depotanimlari_x_adi, 
    
    x_subetanimlari.x_kod AS Expr5, 
    
    x_subetanimlari.x_adi AS Expr6,
    
    x_carikarti_F_001.x_kod AS x_carikodu,
    
    x_carikarti_F_001.x_adi AS x_cariadi,
    
    x_carikarti_F_001.x_id AS x_cariid,
    
    x_doviztanimlari_F_001.x_sembol AS x_dovizsembol
    
    
    
    FROM            x_stokhareket_F_001 
    
    OUTER APPLY (SELECT TOP 1 x_id, x_kod, x_adi FROM x_stokkarti_F_001 WHERE x_stokhareket_F_001.x_stokid = x_stokkarti_F_001.x_id) AS x_stokkarti_F_001 
    
    OUTER APPLY (SELECT TOP 1 x_id FROM x_kullanicilar WHERE x_stokhareket_F_001.x_stokhareketolusturankullaniciid = x_kullanicilar.x_id) AS x_kullanicilar 
    
    OUTER APPLY (SELECT TOP 1 x_id, x_kod, x_adi FROM x_depotanimlari_F_001 WHERE x_stokhareket_F_001.x_depoid = x_depotanimlari_F_001.x_id)  AS x_depotanimlari_F_001
    
    OUTER APPLY (SELECT TOP 1 x_id, x_kod, x_adi, x_sembol FROM x_doviztanimlari_F_001 WHERE x_stokhareket_F_001.x_doviztur = x_doviztanimlari_F_001.x_id) AS x_doviztanimlari_F_001
    
    OUTER APPLY (SELECT TOP 1 x_id, x_kod, x_adi FROM x_subetanimlari WHERE x_stokhareket_F_001.x_subeid = x_subetanimlari.x_id) AS x_subetanimlari
    
    OUTER APPLY (SELECT TOP 1 x_id, x_kod, x_adi FROM x_carikarti_F_001 WHERE x_stokhareket_F_001.x_cariid = x_carikarti_F_001.x_id) AS x_carikarti_F_001
    
    
    
    WHERE (NOT (x_stokhareket_F_001.x_id IS NULL)) AND (x_stokhareket_F_001.x_harekettarihi >= @x_stokhareket_x_harekettarihimin) AND (x_stokhareket_F_001.x_harekettarihi <= @x_stokhareket_x_harekettarihimax) ), cte as (
    
       select  t1.* 
    
    
    
       , (select sum(t2.x_girismiktartemel) - sum(t2.x_cikismiktartemel) 
    
           from src t2 where t2.x_harekettarihi < t1.x_harekettarihi  or ( t2.x_harekettarihi = t1.x_harekettarihi  and t2.x_id <= t1.x_id ) 
    
           ) as mevcuttemel
    
     , (select sum(t2.x_girismiktar) - sum(t2.x_cikismiktar) 
    
           from src t2 where (t2.x_harekettarihi < t1.x_harekettarihi and  
    
    t2.x_birim = t1.x_birim)  or 
    
    ( t2.x_harekettarihi = t1.x_harekettarihi  and t2.x_id <= t1.x_id and  
    
    t2.x_birim = t1.x_birim ) 
    
           ) as mevcut
    
    , (select sum(t2.x_giristutaridoviz) - sum(t2.x_cikistutaridoviz) 
    
           from src t2 where (t2.x_harekettarihi < t1.x_harekettarihi and  
    
    t2.x_birim = t1.x_birim and t2.x_doviztur=t1.x_doviztur)  or 
    
    ( t2.x_harekettarihi = t1.x_harekettarihi  and t2.x_id <= t1.x_id
    
    and t2.x_doviztur=t1.x_doviztur ) 
    
           ) as bakiyedoviz
    
    , (select sum(t2.x_giristutari) - sum(t2.x_cikistutari) 
    
           from src t2 where (t2.x_harekettarihi < t1.x_harekettarihi and  
    
    t2.x_birim = t1.x_birim)  or 
    
    ( t2.x_harekettarihi = t1.x_harekettarihi  and t2.x_id <= t1.x_id) 
    
           ) as bakiye
    
        from src t1
    
     )
    
    
    
     select  cte1.*
    
    FROM (select *,
    
    
    
    
    
      mevcuttemel AS x_mevcuttemelL
    
     
    
    , mevcut AS x_mevcutL
    
     
    
    from cte) cte1   Order By cte1.x_harekettarihi, cte1.x_id
    ---------------------------
    Tamam   
    ---------------------------

    25 Ekim 2012 Perşembe 12:49