使用重复数据创建临时 table

Create temp table with duplicate data

我有两个 table(颜色和数字)。我想以某种格式将它们放在一起,其中每种颜色的每个数字都作为一个条目重复。

我的两个 table:

CREATE TABLE colors (
color VARCHAR(20)
); 

INSERT INTO colors
     (color)
VALUES
     ("red"),
     ("green"),
     ("blue");

CREATE TABLE hours (
 hour NUMERIC
); 

INSERT INTO hours
     (hour)
VALUES
     (1),
     (2),
     (3),
     (4);

我希望我的输出看起来像:

Color   Hour  
red      1  
red      2
red      3
red      4
green    1
green    2
green    3
green    4
blue     1  
blue     2
blue     3
blue     4

感谢您的帮助。我假设还有一些循环方式可以在不使用数字 table 的情况下执行此操作。但没必要。

您正在寻找 cross join:

select c.color, h.hour
from colors c cross join
     hours h;

如果顺序很重要,则使用 order by。这适用于您的示例:

select c.color, h.hour
from colors c cross join
     hours h
order by c.color desc, h.hour;