logo


Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
cengaver  
#1 Gönderildi : 23 Ocak 2015 Cuma 17:16:13(UTC)
cengaver

Sıralama: Newbie

Gruplar: Registered
Katılan: 23.01.2015(UTC)
Mesajlar: 3
Turkey

1 Kere Teşekkür Etti.
Merhaba Arkadaşlar,

USD bazında günlük döviz alış kurlarını listelemem gerekiyor fakat veritabanında haftasonuna ve resmi tatil günlerine denk gelen tarihler için kur bilgisi yok.

Ben, resmi tatil ve hafta sonlarında da geçerli bir kur değeri bulmak zorundayım, bunu nasıl bir select cümlesiyle çözebilirim? Yani özetlersek, iki tarih arasındaki tüm günlerin karşısına bir USD kur bilgisi çekmek istersem bunu nasıl bir select cümlesiyle yapmalıyım?

Aslında çözüm basıt ama bunu SQL cümlesi haline getiremediğim için nasıl yazacağımı bilemiyorum. Çözüm şu aslında, yani öyle bir SELECT cümlesi olmalı ki olmayan bir tarihe denk gelindiğinde o tarihe en yakın bir önceki tarihin kur değerini okumalı...

İlgilendiğiniz için teşekkürler,

Aşağıdaki script SQL Server 2008 içindir ve kur tablosunun oluşturulmasını ve örnek verilerle doldurulmasını sağlar. Denemelerinizi yapmanız için bendeki yapıyı sizinle de paylaşmak istedim.

Kod:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[TDMS_Kurlar](
    [Ref] [int] IDENTITY(1,1) NOT NULL,
    [Tarih] [datetime] NOT NULL,
    [Kod] [varchar](3) NOT NULL,
    [Carpan] [int] NOT NULL,
    [DovizAlis] [money] NOT NULL,
    [DovizSatis] [money] NOT NULL,
    [EfektifAlis] [money] NOT NULL,
    [EfektifSatis] [money] NOT NULL,
    [USDParite] [money] NOT NULL,
    [EuroParite] [money] NOT NULL,
    [DigerParite] [money] NOT NULL,
CONSTRAINT [PK__TDMS_Kur__CAF0B45B3BA1BD0A] PRIMARY KEY CLUSTERED
(
    [Ref] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[TDMS_Kurlar] ADD CONSTRAINT [DF_TDMS_Kurlar_Carpan] DEFAULT ((1)) FOR [Carpan]
GO


/* örnek veriler aşağıdadır. */

INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'EUR', 1, 2.69790, 2.70280, 2.69600, 2.70690, 0.00000, 0.00000, 1.17670);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 273.48000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'JPY', 100, 0.01960, 0.01970, 0.01950, 0.01980, 1.16920, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'USD', 1, 2.29270, 2.29680, 2.29110, 2.30020, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'EUR', 1, 2.68990, 2.69480, 2.68800, 2.69880, 0.00000, 0.00000, 1.18100);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 273.14000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.18440, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'USD', 1, 2.27780, 2.28190, 2.27620, 2.28530, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'EUR', 1, 2.70370, 2.70860, 2.70180, 2.71270, 0.00000, 0.00000, 1.18110);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.92000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.18970, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'USD', 1, 2.28910, 2.29320, 2.28750, 2.29660, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'EUR', 1, 2.71690, 2.72180, 2.71500, 2.72590, 0.00000, 0.00000, 1.18100);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.94000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'JPY', 100, 0.01920, 0.01940, 0.01920, 0.01940, 1.19310, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'USD', 1, 2.30050, 2.30470, 2.29890, 2.30820, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'EUR', 1, 2.71990, 2.72480, 2.71800, 2.72890, 0.00000, 0.00000, 1.17870);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.94000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.19780, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'USD', 1, 2.30760, 2.31180, 2.30600, 2.31530, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'EUR', 1, 2.75670, 2.76170, 2.75480, 2.76580, 0.00000, 0.00000, 1.18540);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.63000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'JPY', 100, 0.01950, 0.01960, 0.01940, 0.01970, 1.19070, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'USD', 1, 2.32550, 2.32970, 2.32390, 2.33320, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'EUR', 1, 2.77360, 2.77860, 2.77170, 2.78280, 0.00000, 0.00000, 1.19160);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'IRR', 100, 0.00850, 0.00860, 0.00000, 0.00000, 27232.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'JPY', 100, 1.95050, 1.96340, 1.94330, 1.97090, 119.05000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'USD', 1, 2.32770, 2.33190, 2.32610, 2.33540, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'EUR', 1, 2.79310, 2.79810, 2.79110, 2.80230, 0.00000, 0.00000, 1.19300);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'IRR', 100, 0.00860, 0.00870, 0.00000, 0.00000, 27233.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'JPY', 100, 1.94150, 1.95440, 1.93430, 1.96180, 120.29000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'USD', 1, 2.34110, 2.34530, 2.33950, 2.34880, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'EUR', 1, 2.82580, 2.83090, 2.82380, 2.83510, 0.00000, 0.00000, 1.20510);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'IRR', 100, 0.00860, 0.00870, 0.00000, 0.00000, 27174.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'JPY', 100, 1.94190, 1.95470, 1.93470, 1.96210, 120.47000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'USD', 1, 2.34490, 2.34910, 2.34330, 2.35260, 1.00000, 0.00000, 0.00000);
mehmetzekikir  
#2 Gönderildi : 27 Ocak 2015 Salı 10:32:06(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 670

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
Originally Posted by: cengaver Go to Quoted Post
Merhaba Arkadaşlar,

USD bazında günlük döviz alış kurlarını listelemem gerekiyor fakat veritabanında haftasonuna ve resmi tatil günlerine denk gelen tarihler için kur bilgisi yok.

Ben, resmi tatil ve hafta sonlarında da geçerli bir kur değeri bulmak zorundayım, bunu nasıl bir select cümlesiyle çözebilirim? Yani özetlersek, iki tarih arasındaki tüm günlerin karşısına bir USD kur bilgisi çekmek istersem bunu nasıl bir select cümlesiyle yapmalıyım?

Aslında çözüm basıt ama bunu SQL cümlesi haline getiremediğim için nasıl yazacağımı bilemiyorum. Çözüm şu aslında, yani öyle bir SELECT cümlesi olmalı ki olmayan bir tarihe denk gelindiğinde o tarihe en yakın bir önceki tarihin kur değerini okumalı...

İlgilendiğiniz için teşekkürler,

Aşağıdaki script SQL Server 2008 içindir ve kur tablosunun oluşturulmasını ve örnek verilerle doldurulmasını sağlar. Denemelerinizi yapmanız için bendeki yapıyı sizinle de paylaşmak istedim.

Kod:
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[TDMS_Kurlar](
    [Ref] [int] IDENTITY(1,1) NOT NULL,
    [Tarih] [datetime] NOT NULL,
    [Kod] [varchar](3) NOT NULL,
    [Carpan] [int] NOT NULL,
    [DovizAlis] [money] NOT NULL,
    [DovizSatis] [money] NOT NULL,
    [EfektifAlis] [money] NOT NULL,
    [EfektifSatis] [money] NOT NULL,
    [USDParite] [money] NOT NULL,
    [EuroParite] [money] NOT NULL,
    [DigerParite] [money] NOT NULL,
CONSTRAINT [PK__TDMS_Kur__CAF0B45B3BA1BD0A] PRIMARY KEY CLUSTERED
(
    [Ref] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [dbo].[TDMS_Kurlar] ADD CONSTRAINT [DF_TDMS_Kurlar_Carpan] DEFAULT ((1)) FOR [Carpan]
GO


/* örnek veriler aşağıdadır. */

INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'EUR', 1, 2.69790, 2.70280, 2.69600, 2.70690, 0.00000, 0.00000, 1.17670);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 273.48000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'JPY', 100, 0.01960, 0.01970, 0.01950, 0.01980, 1.16920, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-14 00:00:00', 'USD', 1, 2.29270, 2.29680, 2.29110, 2.30020, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'EUR', 1, 2.68990, 2.69480, 2.68800, 2.69880, 0.00000, 0.00000, 1.18100);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 273.14000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.18440, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-13 00:00:00', 'USD', 1, 2.27780, 2.28190, 2.27620, 2.28530, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'EUR', 1, 2.70370, 2.70860, 2.70180, 2.71270, 0.00000, 0.00000, 1.18110);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.92000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.18970, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-12 00:00:00', 'USD', 1, 2.28910, 2.29320, 2.28750, 2.29660, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'EUR', 1, 2.71690, 2.72180, 2.71500, 2.72590, 0.00000, 0.00000, 1.18100);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.94000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'JPY', 100, 0.01920, 0.01940, 0.01920, 0.01940, 1.19310, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-09 00:00:00', 'USD', 1, 2.30050, 2.30470, 2.29890, 2.30820, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'EUR', 1, 2.71990, 2.72480, 2.71800, 2.72890, 0.00000, 0.00000, 1.17870);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.94000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'JPY', 100, 0.01920, 0.01930, 0.01910, 0.01940, 1.19780, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-08 00:00:00', 'USD', 1, 2.30760, 2.31180, 2.30600, 2.31530, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'EUR', 1, 2.75670, 2.76170, 2.75480, 2.76580, 0.00000, 0.00000, 1.18540);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'IRR', 100, 0.00010, 0.00010, 0.00000, 0.00000, 272.63000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'JPY', 100, 0.01950, 0.01960, 0.01940, 0.01970, 1.19070, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-07 00:00:00', 'USD', 1, 2.32550, 2.32970, 2.32390, 2.33320, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'EUR', 1, 2.77360, 2.77860, 2.77170, 2.78280, 0.00000, 0.00000, 1.19160);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'IRR', 100, 0.00850, 0.00860, 0.00000, 0.00000, 27232.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'JPY', 100, 1.95050, 1.96340, 1.94330, 1.97090, 119.05000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-06 00:00:00', 'USD', 1, 2.32770, 2.33190, 2.32610, 2.33540, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'EUR', 1, 2.79310, 2.79810, 2.79110, 2.80230, 0.00000, 0.00000, 1.19300);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'IRR', 100, 0.00860, 0.00870, 0.00000, 0.00000, 27233.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'JPY', 100, 1.94150, 1.95440, 1.93430, 1.96180, 120.29000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-05 00:00:00', 'USD', 1, 2.34110, 2.34530, 2.33950, 2.34880, 1.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'EUR', 1, 2.82580, 2.83090, 2.82380, 2.83510, 0.00000, 0.00000, 1.20510);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'IRR', 100, 0.00860, 0.00870, 0.00000, 0.00000, 27174.00000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'JPY', 100, 1.94190, 1.95470, 1.93470, 1.96210, 120.47000, 0.00000, 0.00000);
INSERT INTO dbo.TDMS_Kurlar ([Tarih], [Kod], [Carpan], [DovizAlis], [DovizSatis], [EfektifAlis], [EfektifSatis], [USDParite], [EuroParite], [DigerParite]) VALUES ('2015-01-02 00:00:00', 'USD', 1, 2.34490, 2.34910, 2.34330, 2.35260, 1.00000, 0.00000, 0.00000);


Merhabalar

Veri tabanında o günlere ait bir veri yoksa ne yazıkki o değerleri alamazsın ama söyle birşey yapabilirsin ama işine yararmı bilmiyorum

Mesala Cumartesi günü, geldi ve veri yok onun yerine cumayı basabilirsin
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınız

twitter.com/dbakademi
Dua ve teşekkür en büyük servetlere bedel...
cengaver  
#3 Gönderildi : 28 Ocak 2015 Çarşamba 17:10:35(UTC)
cengaver

Sıralama: Newbie

Gruplar: Registered
Katılan: 23.01.2015(UTC)
Mesajlar: 3
Turkey

1 Kere Teşekkür Etti.
Originally Posted by: mehmetzekikir Go to Quoted Post

Merhabalar

Veri tabanında o günlere ait bir veri yoksa ne yazıkki o değerleri alamazsın ama söyle birşey yapabilirsin ama işine yararmı bilmiyorum

Mesala Cumartesi günü, geldi ve veri yok onun yerine cumayı basabilirsin


Tekrar Merhaba,

Yani, evet, sorum doğru algılanmış, yani yukarıda ilk iletide de belirttiğim gibi ben de bunu yapmaya çalışıyorum fakat bir çözüm bulamadım.

Mesela şunları denedim;

  1. Join kurmaya çalıştım fakat join sırasında order by ile sıralama yapamadığımdan başarısız oldum
  2. tablo değerli bir değişken kullanarak tarihleri aralıksız üretip bu tarihlere denk gelen kurları çekip aradaki boşlukları nested sql ile kapatmaya çalıştım fakat bu da hızlı bir sonuç vermedi


Bana bunun için örnek bir SQL cümlesi yazabilir misiniz?
mehmetzekikir  
#4 Gönderildi : 30 Ocak 2015 Cuma 09:50:51(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 670

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
Originally Posted by: cengaver Go to Quoted Post
Originally Posted by: mehmetzekikir Go to Quoted Post

Merhabalar

Veri tabanında o günlere ait bir veri yoksa ne yazıkki o değerleri alamazsın ama söyle birşey yapabilirsin ama işine yararmı bilmiyorum

Mesala Cumartesi günü, geldi ve veri yok onun yerine cumayı basabilirsin


Tekrar Merhaba,

Yani, evet, sorum doğru algılanmış, yani yukarıda ilk iletide de belirttiğim gibi ben de bunu yapmaya çalışıyorum fakat bir çözüm bulamadım.

Mesela şunları denedim;

  1. Join kurmaya çalıştım fakat join sırasında order by ile sıralama yapamadığımdan başarısız oldum
  2. tablo değerli bir değişken kullanarak tarihleri aralıksız üretip bu tarihlere denk gelen kurları çekip aradaki boşlukları nested sql ile kapatmaya çalıştım fakat bu da hızlı bir sonuç vermedi


Bana bunun için örnek bir SQL cümlesi yazabilir misiniz?



Hocam su kod senin işini görür bence, Not: yukardaki verdiğin sql e göre yazdım

Kod:


CREATE TABLE [dbo].[ResTDMS_Kurlar](
    [Ref] [int]  NOT NULL,
    [Tarih] [datetime] NOT NULL,
    [Kod] [varchar](3) NOT NULL,
    [Carpan] [int] NOT NULL,
    [DovizAlis] [money] NOT NULL,
    [DovizSatis] [money] NOT NULL,
    [EfektifAlis] [money] NOT NULL,
    [EfektifSatis] [money] NOT NULL,
    [USDParite] [money] NOT NULL,
    [EuroParite] [money] NOT NULL,
    [DigerParite] [money] NOT NULL)


declare @tarihmin datetime = (SELECT min(Tarih) FROM TDMS_Kurlar)
declare @tarihmax datetime = (SELECT max(Tarih) FROM TDMS_Kurlar)

WHILE (@tarihmin <= @tarihmax)
begin

declare @deger int =  (SELECT COUNT(1) FROM TDMS_Kurlar d where Tarih = @tarihmin)

if(@deger = 0)
begin
	
	insert into ResTDMS_Kurlar
	SELECT 
       [Ref]
      ,@tarihmin
      ,[Kod]
      ,[Carpan]
      ,[DovizAlis]
      ,[DovizSatis]
      ,[EfektifAlis]
      ,[EfektifSatis]
      ,[USDParite]
      ,[EuroParite]
      ,[DigerParite]
  FROM [AdventureWorks].[dbo].[ResTDMS_Kurlar]
  WHERE Tarih = @tarihmin -1
	
  set @tarihmin = @tarihmin +1

end
else
begin
	insert into ResTDMS_Kurlar
	SELECT * 
	FROM TDMS_Kurlar d where Tarih = @tarihmin
	set @tarihmin = @tarihmin +1
end
end

select * from ResTDMS_Kurlar
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınız

twitter.com/dbakademi
Dua ve teşekkür en büyük servetlere bedel...
thanks mehmetzekikir: 1 Kişi mesajın için Teşekkür Etti.
cengaver 30.01.2015(UTC) tarihinde


Bu konudaki kullanıcılar
Guest
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.