Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 是否使用其他查询从联接更新表?_Mysql_Sql_Sql Update - Fatal编程技术网

Mysql 是否使用其他查询从联接更新表?

Mysql 是否使用其他查询从联接更新表?,mysql,sql,sql-update,Mysql,Sql,Sql Update,我有一张“球员”和“奖项”的表格。我有一些重复的球员条目,有不同的id,但在其他方面相同的信息 我正在尝试更新与第二个玩家条目相关的奖励,以便最终删除重复项 这显然不是最有效的查询,但它只需要运行一次,并且只有10-15个重复。 到目前为止,我有: UPDATE aw SET aw.player_id = map.id1 FROM awards as aw, (SELECT a.id as id1, b.id as id2 FROM players a, players b

我有一张“球员”和“奖项”的表格。我有一些重复的球员条目,有不同的id,但在其他方面相同的信息

我正在尝试更新与第二个玩家条目相关的奖励,以便最终删除重复项

这显然不是最有效的查询,但它只需要运行一次,并且只有10-15个重复。 到目前为止,我有:

UPDATE aw
SET aw.player_id = map.id1
FROM awards as aw,
    (SELECT a.id as id1, b.id as id2
    FROM players a, players b
    WHERE a.first_name = b.first_name 
    AND a.last_name = b.last_name 
    AND a.id != b.id 
    AND a.team is not null 
    AND a.college is not null) as map
WHERE map.id2 = aw.player_id
这给了我一个未指定的语法错误,但是如果我将前两行替换为 “Select aw.player_id,map.id1”,它返回一个包含预期值的两列表(因此列名和表引用都是正确的)

我肯定错过了一些明显的东西,但这是什么?

没有来自的信息

在设置之前,您应该在更新部分中定义表

UPDATE awards as aw,
  (SELECT a.id as id1, b.id as id2
  FROM players a, players b
  WHERE a.first_name = b.first_name 
  AND a.last_name = b.last_name 
  AND a.id != b.id 
  AND a.team is not null 
  AND a.college is not null) as map
SET aw.player_id = map.id1
WHERE map.id2 = aw.player_id

这在语法上应该是正确的。然而,我不确定它是否符合你的要求首先测试暂存数据

UPDATE
  players AS a 
INNER JOIN
  players AS b
ON
  a.first_name = b.first_name
  AND a.last_name = b.last_naem
  AND a.id != b.id
  AND a.team IS NOT NULL
  AND a.college IS NOT NULL
INNER JOIN
  awards AS aw
ON
  b.id = aw.player_id
SET
  aw.player_id = a.id

啊,非常感谢你。我知道这很愚蠢。我对sql的缺乏经验清楚地表明了这一点!