我有一个带有列的表LOADING_ZONE
aid, a_name, addrid, addr1, addr2, city, pstate, country, postalcd, contactnumber, attendancekey,
attendancedate, attendedyesno
另一个表STAGE_TABLE
有列
aid, a_name, addrid, addr1, addr2, city, pstate, country, postalcd, contactnumber, attendancekey,
attendancedate, attendedyesno,action_indicator
我已使用以下方法将加载\u区域的数据插入到阶段\u表中:
INSERT INTO stage_table(aid, a_name, addrid, addr1, addr2, city, pstate, country, postalcd,
contactnumber, attendancekey, attendancedate, attendedyesno)
SELECT aid, a_name, addrid, addr1, addr2, city, pstate, country, postalcd, contactnumber, attendancekey, attendancedate, attendedyesno
FROM loading_zone
当两个表中都有相同的辅助时,我想把action_指示器设为'U',其他的'I'
我尝试了这个,但收到一个错误:
assign= "update stage_table set action_indicator = (CASE when loading_zone.aid=stage_table.aid then 'U' else 'I' end)"
错误是:
psycopg2.errors.UndefinedTable: missing FROM-clause entry for table "loading_zone"
LINE 1: ...ate stage_table set action_indicator = (CASE when loading_zone...
您可以使用
update
:如果将所有指示符初始化为
'I'
(使用UPDATE
或DEFAULT
),则可以在插入数据时执行此操作:我已经创建了两个示例表(test和test1),分别对应于STAGE\u表和LOADING\u ZONE,以便在我的末尾复制用例。下面的更新查询将为您提供预期的输出。你知道吗
输出
相关问题 更多 >
编程相关推荐