سلام
فرض کنیم

CREATE TABLE [dbo].[test3](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Date] [date] NULL,

[Name] [nvarchar](50) NULL,

[Price] [int] NULL,

CONSTRAINT [PK_test3] PRIMARY KEY CLUSTERED

(

[ID] 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

و داده های زیر را داخل ان وارد کرده ایم

insert into [dbo].[test3] values('2016-05-01','a',100)

insert into [dbo].[test3] values('2016-05-02','a',101)

insert into [dbo].[test3] values('2016-05-03','a',102)

insert into [dbo].[test3] values('2016-05-01','b',103)

insert into [dbo].[test3] values('2016-05-02','b',104)

insert into [dbo].[test3] values('2016-05-03','b',105)

insert into [dbo].[test3] values('2016-05-01','c',106)

insert into [dbo].[test3] values('2016-05-02','c',107)

insert into [dbo].[test3] values('2016-05-03','c',108)

insert into [dbo].[test3] values('2016-05-01','d',109)

insert into [dbo].[test3] values('2016-05-02','d',110)

insert into [dbo].[test3] values('2016-05-03','d',111)

insert into [dbo].[test3] values('2016-05-01','e',112)

insert into [dbo].[test3] values('2016-05-02','e',113)

insert into [dbo].[test3] values('2016-05-03','e',114)

حال من کوئری می خواهم که جواب زیر را به من برگرداند

Date a b c d e

2016-05-01 100 103 106 109 112

2016-05-02 101 104 107 110 113

2016-05-03 102 105 108 111 114

بدین صورت که به تعداد روزها سطر ایجاد شود و به تعداد داده های ستون name برای خروچی ستون ایجاد شود و قیمتهای مربوط زیر هر نام براساس ان تاریخ نمایش داده شود
درضمن تعداد داده های ستون name متغییر است وتعداد ثابتی ندارد
چگونه من باید کوئری بنویسم تا به جواب مورد نظرم برسم
باتشکر