我在Sqlite中遇到了一个问题,我很绝望,因为没有任何作用......我有一个完美的工作:
select hierarchies.workclass_g1 from adult join hierarchies
on adult.workclass=hierarchies.workclass;
现在我希望在表格中找到此联接的结果。通过更新或添加或插入或其他任何东西,我只需要将其存储在某个地方。 应该工作的所有不同查询都不起作用。这里的语法没有错误,但只有连接的FIRST值才被放入每一行:
update adult set test=(select hierarchies.workclass_g1
from adult join hierarchies on adult.workclass=hierarchies.workclass)
与插入相同,只插入第一个值:
insert into adult (test) select hierarchies.workclass_g1
from adult join hierarchies on adult.workclass=hierarchies.workclass
此语法不起作用(接近“set”:语法错误)。
update adult join hierarchies on adult.workclass=hierarchies.workclass
set adult.test=hierarchies.workclass_g1
相同(靠近“join”:语法错误)。
update adult set test=hierarchies_g1 join hiearchies
on adult.workclass=hierarchies.workclass
我认为这不是太复杂,语法一定有问题,我不知道。任何帮助都非常感谢
答案 0 :(得分:0)
你首先UPDATE语句几乎是正确的;问题是您正在加入adult
表的单独实例,因此连接的结果与正在更新的adult
行无关。
只需删除冗余表:
update adult
set test = (select hierarchies.workclass_g1
from hierarchies
where adult.workclass = hierarchies.workclass)