我有两张桌子,我们叫'表-A和表-B'。表-A包含引用表-B的FK。我不再需要Table-B了,但我确实需要保留Table-B中的1列。因此,我想用Table-B中引用行中的单个列替换表A中的所有外键。所以我想知道,我可以使用SQL查询来执行该操作吗?
这只是一个简单的sqlite数据库,如果重要的话。
为了更清楚一点,这是一个'插图'的例子:
现状:
TABLE-A:
ID COL1 COL2 COL3(FK)
-------------------------------
1 text text 13
2 text text 14
TABLE-B:
ID COL4 COL5 COL6
-------------------------------
13 rice sushi pizza
14 pasta fries chips
通缉情况:
TABLE-A:
ID COL1 COL2 COL3
-------------------------------
1 text text pizza
2 text text chips
答案 0 :(得分:1)
是。它被称为JOIN
。
select
a.id,
a.col1,
a.col2,
b.col6 col3
from tablea a join tableb b
on a.col3 = b.id;
答案 1 :(得分:1)
如果只是一个查询,GurV的答案是好的。 如果它会使用很多东西,那么我建议创建一个视图:
CREATE VIEW tablec AS
SELECT a.id, a.col1, a.col2, b.col6 AS col3
FROM tablea a, tableb b
WHERE a.col3 = b.id
(抱歉,我是一名古老的SQL开发者:))
现在只需使用:
SELECT * FROM tablec