我想创建一个包含id
的表和包含日期系列的多个列。我的意思是
CREATE TABLE IF NOT EXISTS price_scrapp(
id varchar(250),
price_date1 date,
price_date2 date,
price_date3 date,
price_date4 date,
price_date5 date,
price_date6 date
#...
);
其中date1
,date2
,date3
,...必须是自动生成的日期。在我的情况下,必须是接下来的100个星期一。
"2017-11-27" "2017-12-04" "2017-12-11" "2017-12-18" "2017-12-25" "2018-01-01"
"2018-01-08" "2018-01-15" "2018-01-22" "2018-01-29" "2018-02-05" ...
结果必须是
price_2017-11-27 price_2017-12-04 price_2017-12-11 price_2017-12-18 price_2017-12-25 price_2018-01-01
418467 199387 319402 359454 489591 112756
88735 481561 310659 307747 291171 172578
378819 298426 99965 302950 86076 431515
167211 460831 360240 202222 393621 151283
386879 108820 293997 234300 188834 108695
257698 493266 306417 465134 317937 323749
答案 0 :(得分:0)
这是一个更好的设置...
INT
使用ID
数据类型,让SQL Server使用IDENTITY
属性ID
,price_date
和price
price_date
上放置一个默认值,该值将插入当前日期(当您插入数据时)因此,它看起来像这样:
create table price_scrapp ( id varchar(250)
,price_date date default(getdate())
,price decimal(8,2))
insert into price_scrapp (id,price)
values
('fo_12345678',418467)
--then the next week you insert more data...
insert into price_scrapp (id,price)
values
('fo_12345678',546541.44)
--but today we want to specify a date....
insert into price_scrapp (id,price_date,price)
values
('fo_12345678','20171101',400.13)
select * from price_scrapp
然后,如果您真的想以您在帖子中显示的方式呈现数据,请研究Dynamic Pivot。
以下是一些例子:
https://stackoverflow.com/a/45042349/6167855
https://stackoverflow.com/a/40598475/6167855