Skip to main content

SP Update market price

USE [AAB]
GO
/****** Object:  StoredProcedure [dbo].[SP_GET_UPDATE_MARKET_PRICE]    Script Date: 2/8/2017 1:52:18 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author: Iqbal Abdurrahman, update by Andri Kurniawan
-- Create date: 21 September 2016
-- Description: Get Data for Update Market Price [Vehicle Market Price Application Cisadane]
-- BRD : 0269 URF 2016 - Vehicle Market Price
-- =============================================
CREATE PROCEDURE [dbo].[SP_GET_UPDATE_MARKET_PRICE]
    @brand AS VARCHAR(MAX) ,
    @model AS VARCHAR(MAX) ,
    @geographical_area AS VARCHAR(MAX)
AS
    BEGIN

        DECLARE @tsqlUMP VARCHAR(MAX) = '';
        DECLARE @tsqlYearHeader VARCHAR(MAX) = '';
        DECLARE @tsqlYearPivot VARCHAR(MAX) = '';
        DECLARE @maxyear INT = 0;
        DECLARE @minyear INT = 0;
        SET @maxyear = YEAR(GETDATE());
        SET @minyear = YEAR(GETDATE()) - 14;

        DECLARE @mxP INT = @maxyear; -- mxP = Maximum Year For Dynamic Year in Pivot
        DECLARE @mxH INT = @maxyear; -- mnH = Minimum Year For Dynamic Year in Header
        DECLARE @mnP INT = @minyear; -- mnP = Maximum Year For Dynamic Year in Pivot
        DECLARE @mnH INT = @minyear; -- mnH = Maximum Year For Dynamic Year in Header

        SET @tsqlUMP = 'select Code as [VEHICLE_CODE], [SERIES],';

        WHILE @mxH >= @mnH
            BEGIN
                IF ( @mxH = @mnH )
                    BEGIN
                        SET @tsqlYearHeader = @tsqlYearHeader + 'coalesce(['
                            + CAST(@mxH AS VARCHAR) + '], 0) as ['
                            + CAST(@mxH AS VARCHAR) + '] ';
                    END
                ELSE
                    BEGIN
                        SET @tsqlYearHeader = @tsqlYearHeader + 'coalesce(['
                            + CAST(@mxH AS VARCHAR) + '], 0) as ['
                            + CAST(@mxH AS VARCHAR) + '],';
                    END
                SET @mxH = @mxH - 1;
            END
        PRINT ( @tsqlYearHeader );
        PRINT ( '--------------------------------------' );
        SET @tsqlUMP = @tsqlUMP + @tsqlYearHeader;
        SET @tsqlUMP = @tsqlUMP + 'from ( '      
        SET @tsqlUMP = @tsqlUMP
            + 'SELECT * ,
ISNULL(( SELECT TOP 1
MS.Series
FROM   dbo.Mst_Vehicle AS MS
WHERE  ms.Vehicle_code = cc.code
  ), '''') AS Series
 FROM      ( SELECT    *
 FROM      dbo.[SFN_GET_DATADOWNLOAD_MARKET_PRICE]('''+ @brand + ''' ,''' + @model + ''',''' + @geographical_area + ''')
 WHERE     tahun <= YEAR(GETDATE())
) AS CC
 UNION ALL
 SELECT    T.VEHICLE_CODE AS Code ,
YEAR(GETDATE()) - 14 AS Tahun ,
0 AS Harga ,
T.SERIES
 FROM      MST_VEHICLE T
 WHERE     T.STATUS = 1
AND T.BRAND_ID = ''' + @brand + '''
AND T.MODEL = ''' + @model + ''' '
        SET @tsqlUMP = @tsqlUMP + ') as P '
        SET @tsqlUMP = @tsqlUMP + 'PIVOT( '
        SET @tsqlUMP = @tsqlUMP + 'SUM(Harga) '
        SET @tsqlUMP = @tsqlUMP + 'FOR[Tahun] IN ( '

        WHILE @mxP >= @mnP
            BEGIN
                IF ( @mxP = @mnP )
                    BEGIN
                        SET @tsqlYearPivot = @tsqlYearPivot + '['
                            + CAST(@mxP AS VARCHAR) + '] ';
                    END
                ELSE
                    BEGIN
                        SET @tsqlYearPivot = @tsqlYearPivot + '['
                            + CAST(@mxP AS VARCHAR) + '], ';
                    END
                SET @mxP = @mxP - 1;
            END

        SET @tsqlUMP = @tsqlUMP + @tsqlYearPivot;
        SET @tsqlUMP = @tsqlUMP + ')'
        SET @tsqlUMP = @tsqlUMP + ') as PV'
        PRINT ( @tsqlUMP )

        EXEC (@tsqlUMP)

    END

Comments

  1. Casino, Games & Slots – How To Play It Fast, Safely, and
    The online 충청북도 출장샵 slots market 포천 출장안마 is constantly changing and new players don't want 포천 출장안마 to miss out on the opportunity to win 부천 출장안마 and play more than 순천 출장샵 just slot machines,

    ReplyDelete

Post a Comment

Popular posts from this blog

Menampilan Line Number/Nomor Urut pada SQL Server Text Editor

Jikalau kita membuka editor seperti notepad ++ kita akan menemukan line editor atau bahasa indonesia nomor urut untuk memudahkan jika ada error coding dan menyebutkan nomor urut keberapa error tersebut, untuk menampilkan line number pada SQL Server caranya cukup mudah yaitu: buka dulu SQL Server Management Studio 1. Step1: Tool-->Option 2.  Step2: didalam Options dialog box klik ke Text Editor > Transact-SQL > General 3. Step 3: Check “Line Numbers” dan klik “OK” hasilnya:

Install Nuget Package Manager di Microsoft Visual Studio 2010

Package Manager Console digunakan untuk memudahkan developer dalam menginstall berbagai jenis tool secara online yang digunakan untuk mensuport pengerjaan project. untuk melakukan intalasi Package Manager Console adalah : 1. Buka Microsoft Visual Studio 2010, lalu masuk ke menu Tool-->Extension Manager 2. Klik Online Galery, lalu klik download "Nuget Package Manager" 3. Tunggu hingga instalasi selesai dan Microsoft Visual Studio 2010 akan meminta untuk di restart dan pilih restart, Package Manager Console dapat digunakan

Cara membuat Linked Server pada SQL Server untuk query antar database server

Jika kita memiliki 2 database server dan menginginkan untuk melakukan Transact-SQL   antar tabel didua database server yang berbeda tersebut, kita dapat menggunakan Linked Server, selain menggunakan cara Openrowset dan ada berbagai jenis database yang dapat di Linked Server ini seperti Oracle, bahkan Ms.Acess dan Excel. Beberapa kelebihan Linked Server : Kemampuan untuk mengakses data dari SQL Server yang lain. Kemampuan untuk mengeksekusi Query, update, command, dan transaksi pada sumber data yang heterogen di seluruh perusahaan. Kemampuan untuk mengatasi sumber data yang beragam pula. ada beberapa cara yang penulis pahami untuk melakukan konfigurasi linked server yaitu: menggunakan perintah  sp_addlinkedserver USE [master] GO --perintah menghapus linked server jika ada EXEC master.dbo.sp_dropserver @server=N'namalinkedservernya', @droplogins='droplogins' GO --perintah membuat linked server EXEC master.dbo.sp_addlinkedserver @server = N'nam