使用重复数据创建临时 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;
我有两个 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;