Sql 如何使用从;选择";陈述

Sql 如何使用从;选择";陈述,sql,sqlite,Sql,Sqlite,我有使用select语句查询的列。我想将此列添加到我的表中。声明如下: 选择vd.*,a.休假日的费率vd left join算法a on v d、 a.day1和a.day2之间的工作日按id分组 这将返回一个包含三行的列,每行的速率为十进制。 这就是我试图做的: update vacation_days set vacation_days.free=vd.days_CurrYear*(select vd.*, a.rate from vacation_days vd left join Al

我有使用select语句查询的列。我想将此列添加到我的表中。声明如下:

选择vd.*,a.休假日的费率vd left join算法a on v
d、 a.day1和a.day2之间的工作日按id分组

这将返回一个包含三行的列,每行的速率为十进制。 这就是我试图做的:

update vacation_days set vacation_days.free=vd.days_CurrYear*(select vd.*, a.rate from vacation_days vd left join Algorithm a  on v d.work_days between a.day1 and a.day2 group by id) where id;
但是,它给出了一个错误: 不能在FROM子句中为更新指定目标表“休假天数”

请让我知道我错过了什么。
谢谢

您可以使用相关子查询:

update vacation_days 
    set free = days_CurrYear * (select a.rate
                                from Algorithm a  
                                where vacation_days.work_days between a.day1 and a.day2
                               );

您可以使用相关子查询:

update vacation_days 
    set free = days_CurrYear * (select a.rate
                                from Algorithm a  
                                where vacation_days.work_days between a.day1 and a.day2
                               );