如何在SQL中将查询结果添加到表中?

问题描述

我正在尝试将查询结果添加到现有表中,具体取决于现有列的值。例如,使用下表

商店 销售 工作日
10 11000 工作日
11 5000 工作日
12 8000 工作日
10 19000 周末
11 20000 周末
12 5000 周末

我想要每个商店和工作日的平均值,我可以使用以下方法获得:

SELECT AVG(Sales) AS weekday_avg,store
FROM store_sales
WHERE Weekday = 'Weekday'
GROUP BY store;

然后我想将这些结果添加到同一个表中并存储在名为“weekday_avg”的列中。

我尝试了以下操作,虽然没有出现错误,但该列没有添加任何值:

ALTER TABLE store_sales ADD COLUMN weekday_avg numeric;
UPDATE store_sales SET weekday_avg = (
    SELECT AVG(Sales) AS weekday_avg
    FROM store_sales
    WHERE Weekday = 'Weekday'
    GROUP BY store
);

我知道这可能不是最佳数据库实践,但我正在使用所提供的内容,我所需要的只是最终得到一个表,其中包含每个商店/工作日类型的平均值,我可以将其导出到 R以供进一步分析。

非常感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)