对这个琐碎的问题表示歉意,但我尝试了此处提供的一些类似答案,但无济于事。
我正在创建一个数据库(合并两组来自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'