PDA

View Full Version : کوئری برای بدست آوردن فعالیت مانند Scheduler



fahimi
شنبه 29 اسفند 1394, 00:22 صبح
با سلام
عید سعید نوروز را پیشاپیش خدمت تمامی اعضا سایت برنامه نویس تبریک می گویم.
من با استفاده از کوئری می خواهم لیست کارها برای 5 روز آینده را به شکل زیر لیست کنم ماننده Scheduler ها .
فرض بر این است که تاریخ ابتدای از سیستم گرفته شده است و به صورت میلادی ذخیره شده.

isaac23
شنبه 29 اسفند 1394, 01:36 صبح
= "SELECT * FROM T1 Where tch between '" & Date & "' and '" & Date +3 & "'order by tch ASC"





شاید این بکارت بیاد

fahimi
شنبه 29 اسفند 1394, 10:26 صبح
با تشکر من به دنبال دستور شبیه PIVOT هستم بدون استفاده از Aggregate Function که نتیجه آن می تواند جواب سوال باشد.
روش زیر هست ولی من به دنبال روش ساده تر هستم.

CREATE TABLE Payment (

PaymentID INT NOT NULL IDENTITY

CONSTRAINT pkPayment PRIMARY KEY,

PaymentDate Date Not Null,

Medicare INT NOT NULL,

Medicaid INT NOT NULL,

VA INT

);


INSERT Payment (PaymentDate, Medicare, Medicaid, VA)

VALUES ('1/1/2009', 30, 20, 5),

('1/2/2009',30 ,20 ,5),

('1/3/2009',29, 20 ,6),

('1/4/2009',29, 19, 6)

SELECT * FROM dbo.Payment



SELECT Type, d20090101 as '01-01-2009',

d20090102 as '01-02-2009',

d20090103 as '01-03-2009',

d20090104 as '01-04-2009'

FROM (SELECT PaymentDate, Amount, Type

FROM (SELECT 'd'+ Convert (Char(10), PaymentDate, 112) as PaymentDate,

Medicare, Medicaid, VA

FROM Payment) as sq_source

UNPIVOT (Amount FOR Type IN

(Medicare, Medicaid, VA)) as sq_up

) as sq

PIVOT (

MIN(Amount)

FOR PaymentDate IN

(d20090101, d20090102, d20090103, d20090104)

) as p;