Mysql SQL更新连接Where子句;phpmyadmin
我有一个关于SQL连接的问题。我想更新一个在程序中运行的表格,以便根据不同账户的价格发展(例如煤炭、皮革等的价格发展)进行价值计算。在当前版本中,这些帐户大约有3000个,具有ID、唯一的GP编号和每年的值。问题是,随着GP新版本的发布,大约有900个帐户被删除。但是,程序必须能够使用这些值进行进一步计算,因为计算分配给ID而不是GP值。我想更新2015年、2016年和2017年的GP值……但我不知道如何在不拍摄ID的情况下进行更新(未更新且有计算的值将得到一般价格发展,但此更新可以忽略) 第一个表如下所示(树:gps.gps\u alt): 第二个表如下所示(从该表中,应在第一个表的201420152016和2017年输入值。该树如下所示:gps.gps_neu): 我现在想加入201420152016和2017年的表,其中gps_alt.numer=gps_new.numer。我已经尝试了以下代码:Mysql SQL更新连接Where子句;phpmyadmin,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我有一个关于SQL连接的问题。我想更新一个在程序中运行的表格,以便根据不同账户的价格发展(例如煤炭、皮革等的价格发展)进行价值计算。在当前版本中,这些帐户大约有3000个,具有ID、唯一的GP编号和每年的值。问题是,随着GP新版本的发布,大约有900个帐户被删除。但是,程序必须能够使用这些值进行进一步计算,因为计算分配给ID而不是GP值。我想更新2015年、2016年和2017年的GP值……但我不知道如何在不拍摄ID的情况下进行更新(未更新且有计算的值将得到一般价格发展,但此更新可以忽略) 第一
SELECT gps_alt.2014,
gps_alt.2015,
gps_alt.2016,
gps_alt.2017
FROM gps.gps_alt
JOIN LEFT gps_neu.2014,
gps_neu.2015,
gps_neu.2016,
gps_neu.2017
ON gps.gps_alt.Nummer = gps.gps_neu.Nummer;
希望有人能帮助我,我不知道为什么这样不行……我找到了解决办法
UPDATE gps_alt a
INNER JOIN gps_neu b
ON a.Nummer = b.Nummer
SET a.2014= b.2014
SELECT gps_alt.2014,
gps_alt.2015,
gps_alt.2016,
gps_alt.2017
FROM gps.gps_alt
JOIN LEFT gps_neu.2014,
gps_neu.2015,
gps_neu.2016,
gps_neu.2017
ON gps.gps_alt.Nummer = gps.gps_neu.Nummer;
Error message: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT gps_neu.2014, gps_neu.2015, gps_neu.2016, at line 6
update gps.gps_alt
set gps_alt.2014 = gps_neu.2014 ,
gps_alt.2015 = gps_neu.2015,
gps_alt.2016 = gps_neu.2016,
gps_alt.2017 = gps_neu.2017
FROM gps_alt
INNER JOIN gps_neu
ON gps_alt.Nummer = gps_neu.Nummer;
With this errormassage:
update gps.gps_alt
set gps_alt.2014 = gps_neu.2014 ,
gps_alt.2015 = gps_neu.2015,
gps_alt.2016 = gps_neu.2016,
gps_alt.2017 = gps_neu.2017
FROM gps_alt
INNER JOIN gps_neu
ON gps_alt.Nummer = gps_neu.Nummer;
UPDATE gps_alt a
INNER JOIN gps_neu b
ON a.Nummer = b.Nummer
SET a.2014= b.2014