对这个琐碎的问题表示歉意,但我尝试了此处提供的一些类似答案,但无济于事。

我正在创建一个数据库(合并两组来自1901年和1911年的爱尔兰人口普查数据)。

我有一列“年龄”(包含各个民族的年龄),还有一列“ 1901Age”(当前为空)。我想将“年龄”列中的数据自动复制到1901Age列中。

我正在实时学习SQL,因此对它是新手,但是INSERT SELECT和各种类似的排列对我不起作用。

如果我也可以在标记为where的列上进行上述操作,那么下面的过滤条件将过滤我需要对其应用上面的查询的结果(如果这样的话!)

UPDATE `Census`.`Merged`
SET `Age` = `1901Age`
WHERE (
(
`Age` >= '0'
)
AND (
`1901Age` = '0'
AND `BothCensusStatus` = '1901Only'

最佳答案

可能只有轻微的错别字:缺少),并且您以相反的顺序写出情感:

UPDATE `Census`.`Merged`
SET `1901Age` = `Age`               -- Copy from `Age` to `1901Age`
WHERE `Age` >= 0                    -- Compare on integers
AND `1901Age` = 0                   -- Here again
                                    -- (BTW, would probably have been better to
                                    --  use NULL to denote "non-existent" data)
AND `BothCensusStatus` = '1901Only'

10-07 14:23