2016-08-05 122 views
0

我有两个配置单元数据库,即db1和db2。我有一个名为table1的db1中的表和db2中的一个名为table2的表。我想根据table1中的特定列值删除table2中的一些行。根据另一个数据库中的表记录删除Hive中的记录

我用下面的查询,但它无法

DELETE FROM db2.table2 
WHERE db2.table2.F_SESSION IN (
    SELECT F_SESSION FROM db1.table1 
     WHERE db1.table1.STATUS = 1); 

的错误是

Error while compiling statement: FAILED: SemanticException [Error 10004]: Line 4:12 Invalid table alias or column reference 'db1': (possible column names are: f_session, status) 

在哪里我错了任何线索?顺便说一句,我不是一个有经验的SQL人员。

回答

0

试试这个,

DELETE FROM db2..table2 
WHERE db2..table2.F_SESSION IN (
    SELECT F_SESSION FROM db1..table1 
     WHERE db1..table1.STATUS = 1); 
+0

没有它没有。我犯了同样的错误。 – Bala

0

但这个工作

USE db2; 
DELETE FROM table2 WHERE table2.F_SESSION IN ( 
    SELECT F_SESSION FROM db1.table1 AS T1 
     WHERE T1.STATUS = 1); 
相关问题