У меня есть таблица с тремя рецептами и датами, в которых эти рецепты появляются в меню:
CREATE TABLE recipes (
recipe_id INT NOT NULL,
recipe_name VARCHAR(30) NOT NULL,
recipe_date DATE,
PRIMARY KEY (recipe_id)
);
INSERT INTO recipes
(recipe_id, recipe_name, recipe_date)
VALUES
(1,'Tacos', to_date('2018-09-01', 'YYYY-MM-DD')),
(2,'Tomato Soup', to_date('2018-10-01', 'YYYY-MM-DD')),
(3,'Grilled Cheese', to_date('2018-11-01', 'YYYY-MM-DD')),
(4,'Tacos', to_date('2018-09-03', 'YYYY-MM-DD')),
(5,'Tomato Soup', to_date('2018-10-07', 'YYYY-MM-DD')),
(6,'Grilled Cheese', to_date('2018-11-05', 'YYYY-MM-DD'));
Моя цель - создать серию дат с шагом в один день для каждого рецепта min(recipe_date)
до date(now())
и, используя это, создайте таблицу из двух столбцов, которая содержит recipe_id
и серию дат.
Это означает, что если сегодняшняя дата равна 2018-11-07
, то в общей сложности будет 113 строк :
(68 дней для тако, 38 дней для томатного супа и 7 дней для жареного сыра)
Как создать в psql таблицу, содержащую сериюдат, начинающихся с min для каждой переменной recipe_id
?Будет ли это с CROSS JOIN
?