Tema: Re: Dar karta T-SQL select'as
Autorius: Rimokas
Data: 2011-08-12 16:17:48
Pasitaisau : su isnull viskas gerai eina .

Selectas :

ALTER PROCEDURE [dbo].[Inventtrans_AV_CREATING] AS
begin transaction
      if OBJECT_ID(N'INVENTTRANS_AV',N'U') IS NOT NULL
         DROP TABLE DBO.INVENTTRANS_AV
         PRINT 'DROP PABAIGA'

      SELECT
      INVD.INVENTLOCATIONID,
      ISNULL( JUD1.ITEMID, LIK1.ITEMID ) AS ITEMID,
      ISNULL( INVT1.ITEMNAME, INVT2.ITEMNAME ) AS ITEMNAME,
      ISNULL( INVT1.ALNINVENTGROUP1, INVT2.ALNINVENTGROUP1 ) AS ALNGROUP,

      SUM ( isnull( LIK1.QTY, 0 ) ) AS LQTY,
      SUM ( isnull( LIK1.COSTAMOUNTPOSTED, 0 ) )AS LSUM,

      SUM ( CASE WHEN JUD1.DIRECTION = 1 then JUD1.QTY else 0 END ) AS PQTY,
      SUM ( CASE WHEN JUD1.DIRECTION = 1 then JUD1.COSTAMOUNTPOSTED else 0 
END ) AS PSUM,
      SUM ( CASE WHEN JUD1.DIRECTION = 2 then JUD1.QTY else 0 END ) AS IQTY,
      SUM ( CASE WHEN JUD1.DIRECTION = 2 then JUD1.COSTAMOUNTPOSTED else 0 
END ) AS ISUM,

      INVD.INVENTDIMID,
      INVD.CONFIGID,
      INVD.INVENTBATCHID,
      INVD.INVENTSERIALId,
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ) AS DATEPHYSICAL

      INTO DBO.INVENTTRANS_AV
      FROM DBO.INVENTDIM INVD

      FULL JOIN DBO.INVENTTrans JUD1 ON INVD.INVENTDIMID = JUD1.INVENTDIMID
      FULL JOIN DBO.UTINVENTREMAINMONTH LIK1 ON INVD.INVENTDIMID = 
LIK1.INVENTDIMID

      JOIN DBO.INVENTTABLE INVT1 ON JUD1.ITEMID = INVT1.ITEMID
      JOIN DBO.INVENTTABLE INVT2 ON LIK1.ITEMID = INVT2.ITEMID

      WHERE
      INVD.INVENTLOCATIONID = 'its'     and
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ) >= '2011.07.01' and
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ) <= '2011.07.01'

      GROUP BY
      INVD.INVENTLOCATIONID,
      isnull( JUD1.ITEMID, LIK1.ITEMID ),
      isnull( INVT1.ITEMNAME, INVT2.ITEMNAME ),
      isnull( INVT1.ALNINVENTGROUP1, INVT2.ALNINVENTGROUP1 ),
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ),
      INVD.CONFIGID,
      INVD.INVENTBATCHID,
      INVD.INVENTSERIALID,
      INVD.INVENTDIMID

COMMIT TRANSACTION

      CREATE INDEX INVENTLOCATIONIDIDX
ON DBO.INVENTTRANS_AV 
(INVENTLOCATIONID,ALNGROUP,ITEMNAME,ITEMID,DATEPHYSICAL)


 Bet .... :-((

Su siom where salygom :
      (JUD1.datephysical >='2011.07.01' or JUD1.datephysical IS NULL)  and
      (JUD1.datephysical <='2011.07.31' or JUD1.datephysical IS NULL)  and
      (LIK1.DATEPHYSICAL >= '2011.07.01' or LIK1.datephysical IS NULL) and
      (LIK1.DATEPHYSICAL <= '2011.07.31' or LIK1.datephysical IS NULL)
arba
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ) >= '2011.07.01' and
      isnull( JUD1.DATEPHYSICAL, LIK1.DATEPHYSICAL ) <= '2011.07.01'

 0 eiluciu ...

su laikotarpiais prie join'u :

      FULL JOIN DBO.INVENTTrans JUD1 ON INVD.INVENTDIMID = JUD1.INVENTDIMID
      and JUD1.datephysical >='2011.07.01' and JUD1.datephysical 
<='2011.07.31'
      FULL JOIN DBO.UTINVENTREMAINMONTH LIK1 ON INVD.INVENTDIMID = 
LIK1.INVENTDIMID
      and LIK1.DATEPHYSICAL >= '2011.07.01' and LIK1.DATEPHYSICAL <= 
'2011.07.31'

  tas pats rezultatas kaip ir ankstesniuos selectuos ... blogas . 18- ir 19- 
grupiu prekiu nera ...



3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser