SQL Server:结合日期范围和产品代码列表

时间:2017-07-16 23:54:58

标签: sql-server combinations

我确实试过这个,但不知道如何正确表达,所以我希望有人可以提供帮助。

我有两个表,产品和日期范围。

CREATE TABLE product 
(
    Code    varchar(50) NOT NULL,
    Price   money
);

CREATE TABLE daterange 
(
    yyyymm varchar(6) NOT NULL
);

INSERT INTO product (Code, Price)
VALUES ('10001J',3.68), ('10002K',7.23), ('10003L',4.72);

INSERT INTO daterange (yyyymm)
VALUES (201507),(201508),(201509),(201510);

我想要制作的清单是:

YYYYMM  Product
---------------
201507  10001J
201507  10002K
201507  10003L
201508  10001J
201508  10002K
201508  10003L
201509  10001J
201509  10002K
201509  10003L
201510  10001J
201510  10002K
201510  10003L

基本上,创建所有产品和所有日期的组合。我不知道我是否需要日期范围表,或者是否可以单独使用代码。是的,我可以在Excel或其他任何东西中创建组合,但我希望将其构建为更大的动态查询。

提前致谢:)

1 个答案:

答案 0 :(得分:0)

感谢Felix指出我之前没有真正使用的联接。

SELECT yyyymm, code FROM product CROSS JOIN daterange 

有魅力。