SQL:如何用引用表中的数据替换外键列?

时间:2017-02-05 10:05:26

标签: sql database sqlite

我有两张桌子,我们叫'表-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

2 个答案:

答案 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