zez*_*eze 1 mysql sql select overwrite sql-insert
通过以下查询,我创建一个表,该表是两个现有表左连接的结果:
CREATE TABLE meal_reservations
SELECT
meal.id,
meal.max_reservations,
SUM(IFNULL(reservation.number_of_guests, 0)) AS reservations
FROM meal
LEFT OUTER JOIN reservation
ON meal.id = reservation.meal_id
GROUP BY meal.id;
Run Code Online (Sandbox Code Playgroud)
我希望能够SELECT在需要时使用相同的查询更新其值。
我尝试过REPLACE INTO,但这只是将新结果附加到现有行上。
截断表然后用语句重新填充它怎么样insert ... select ...?这是我能想到的最简单的方法。否则,您将需要准确定义如何管理增量,这可能会很乏味。
-- empty the table
truncate table meal_reservations;
-- fill it again
insert into meal_reservations
SELECT
meal.id,
meal.max_reservations,
SUM(IFNULL(reservation.number_of_guests, 0)) AS reservations
FROM meal
LEFT OUTER JOIN reservation
ON meal.id = reservation.meal_id
GROUP BY meal.id;
Run Code Online (Sandbox Code Playgroud)