连接两个不同的表';s列sqlite3

连接两个不同的表';s列sqlite3,sql,sqlite,android-sqlite,Sql,Sqlite,Android Sqlite,hi有一个两表一表包含名为 表A _id,英语,印地语 其他表格包含 表B _id,英语,印地语 我想通过将单词与英语匹配来连接两个表如果英语单词不匹配,它将被添加到表B中的表A中,否则表A的值将保留 比如说 现在是表B 表A 结果将在表A中列出 如果您只想获得(选择)所需的输出,并且表格A可以包含表格B中不存在的记录,那么您可以模拟完全连接来实现您的目标 SELECT e.eng, COALESCE(a.hindi, b.hindi) hindi FROM ( SELECT eng

hi有一个两表一表包含名为

表A _id,英语,印地语

其他表格包含

表B _id,英语,印地语

我想通过将单词与英语匹配来连接两个表如果英语单词不匹配,它将被添加到表B中的表A中,否则表A的值将保留

比如说

现在是表B

表A

结果将在表A中列出

如果您只想获得(
选择
)所需的输出,并且
表格A
可以包含
表格B
中不存在的记录,那么您可以模拟
完全连接
来实现您的目标

SELECT e.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM
(
  SELECT eng FROM TableB 
   UNION 
  SELECT eng FROM TableA
) e LEFT JOIN TableB b 
    ON e.eng = b.eng LEFT JOIN TableA a
    ON e.eng = a.eng
另一方面,如果
TableA
始终只包含
TableB
eng
值的子集,则您可以使用
LEFT JOIN

SELECT b.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
这里是演示


现在,如果您想更新
TableA
的内容,并假设
A_id
AUTOINCREMENT
,您可以这样做

INSERT INTO TableA (eng, hindi)
SELECT b.eng, b.hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
 WHERE a.eng IS NULL
这里是演示

这里是演示

如果您只想获得(
选择
)所需的输出,并且
表格A
可以包含
表格B
中不存在的记录,那么您可以模拟
完全加入
来实现您的目标

SELECT e.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM
(
  SELECT eng FROM TableB 
   UNION 
  SELECT eng FROM TableA
) e LEFT JOIN TableB b 
    ON e.eng = b.eng LEFT JOIN TableA a
    ON e.eng = a.eng
另一方面,如果
TableA
始终只包含
TableB
eng
值的子集,则您可以使用
LEFT JOIN

SELECT b.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
这里是演示


现在,如果您想更新
TableA
的内容,并假设
A_id
AUTOINCREMENT
,您可以这样做

INSERT INTO TableA (eng, hindi)
SELECT b.eng, b.hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
 WHERE a.eng IS NULL
这里是演示

这里是演示

如果您只想获得(
选择
)所需的输出,并且
表格A
可以包含
表格B
中不存在的记录,那么您可以模拟
完全加入
来实现您的目标

SELECT e.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM
(
  SELECT eng FROM TableB 
   UNION 
  SELECT eng FROM TableA
) e LEFT JOIN TableB b 
    ON e.eng = b.eng LEFT JOIN TableA a
    ON e.eng = a.eng
另一方面,如果
TableA
始终只包含
TableB
eng
值的子集,则您可以使用
LEFT JOIN

SELECT b.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
这里是演示


现在,如果您想更新
TableA
的内容,并假设
A_id
AUTOINCREMENT
,您可以这样做

INSERT INTO TableA (eng, hindi)
SELECT b.eng, b.hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
 WHERE a.eng IS NULL
这里是演示

这里是演示

如果您只想获得(
选择
)所需的输出,并且
表格A
可以包含
表格B
中不存在的记录,那么您可以模拟
完全加入
来实现您的目标

SELECT e.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM
(
  SELECT eng FROM TableB 
   UNION 
  SELECT eng FROM TableA
) e LEFT JOIN TableB b 
    ON e.eng = b.eng LEFT JOIN TableA a
    ON e.eng = a.eng
另一方面,如果
TableA
始终只包含
TableB
eng
值的子集,则您可以使用
LEFT JOIN

SELECT b.eng, COALESCE(a.hindi, b.hindi) hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
这里是演示


现在,如果您想更新
TableA
的内容,并假设
A_id
AUTOINCREMENT
,您可以这样做

INSERT INTO TableA (eng, hindi)
SELECT b.eng, b.hindi
  FROM TableB b LEFT JOIN TableA a
    ON b.eng = a.eng
 WHERE a.eng IS NULL
这里是演示


下面是演示

完全联接
是一个术语,用于组合多个表中的行。不适用于您的需要

您只需将表
a
中不在表
a
中的所有条目插入表
b

INSERT INTO TABLE a(Eng, Hindi) SELECT Eng, Hindi FROM b WHERE eng NOT IN (SELECT eng FROM a);

完全联接
是一个术语,用于组合多个表中的行。不适用于您的需要

您只需将表
a
中不在表
a
中的所有条目插入表
b

INSERT INTO TABLE a(Eng, Hindi) SELECT Eng, Hindi FROM b WHERE eng NOT IN (SELECT eng FROM a);

完全联接
是一个术语,用于组合多个表中的行。不适用于您的需要

您只需将表
a
中不在表
a
中的所有条目插入表
b

INSERT INTO TABLE a(Eng, Hindi) SELECT Eng, Hindi FROM b WHERE eng NOT IN (SELECT eng FROM a);

完全联接
是一个术语,用于组合多个表中的行。不适用于您的需要

您只需将表
a
中不在表
a
中的所有条目插入表
b

INSERT INTO TABLE a(Eng, Hindi) SELECT Eng, Hindi FROM b WHERE eng NOT IN (SELECT eng FROM a);


您是否在Android上运行MySQL?不,只使用Sqlite3Do您需要实际插入/更新(到)TableA,或者您只需要从两个表中获得所需的结果集?如果是前者,那么如何维护
A_id
?这是一个自动增量吗?我只需要从两个表中获取dsired resultset。您在Android上运行MySQL吗?不,只使用Sqlite3Do,您需要实际插入/更新(到)表中,或者只需要从两个表中获取所需的结果集?如果是前者,那么如何维护
A_id
?这是一个自动增量吗?我只需要从两个表中获取dsired resultset。您在Android上运行MySQL吗?不,只使用Sqlite3Do,您需要实际插入/更新(到)表中,或者只需要从两个表中获取所需的结果集?如果是前者,那么如何维护
A_id
?这是一个自动增量吗?我只需要从两个表中获取dsired resultset。您在Android上运行MySQL吗?不,只使用Sqlite3Do,您需要实际插入/更新(到)表中,或者只需要从两个表中获取所需的结果集?如果是前者,那么如何维护
A_id
?这是一个
自动增量
?我只需要从两个表中获取dsired resultset。OP的问题是不清楚是否确实需要
更新
。皮特我正在获取所需结果,但表B中的数据没有插入表A中(仅在所需结果上)@Siddhpuramit这是我的问题,你是真的想更新
TableA
的内容,还是只需要从两个表中选择所需的结果集?@Siddhpuramit如果你需要更新
TableA
的内容,请查看更新的答案,以获得可能的解决方案。答案是否定的