-1

我正在尝试根据共享值将 2 个表加入到一个新表中,但运气不佳。这就是我所拥有的。

表格1:

id        |name     |
----------|---------|
1         |test1    |

表2:

id        |name     |location |color    |
----------|---------|---------|---------|
1         | test1   |  10     |  blue   |

我在这里要的是一个新表(Table3),它从 Table1 中获取“名称”并将其与 Table2 中的名称进行匹配,然后将匹配结果粘贴到 Table3 中。任何与表 1 不匹配的内容都应被忽略。因此,如果我在 Table2 中有“test99”,但在 Table1 中没有,请不要将它放在 Table3 中。

我读过的所有内容都表明这应该不难做到,但我只是没有运气。

谢谢!

4

3 回答 3

0

您可以选择进入表格。

Select * INTO Table3
FROM Table2 
WHERE Table2.Name IN (SELECT Name FROM Table1)
于 2013-08-29T16:20:12.577 回答
0

或者你可以使用 INSERT ... SELECT -syntax 并使用 JOIN。

INSERT INTO table3 (id, name, location, color)
SELECT t.id, t2.name, t.location, t.color FROM table1 AS t JOIN table2 AS t2 ON t2.id = t1.id
于 2013-08-29T16:23:41.200 回答
0

尝试

SELECT Table2.Name, Table2.Location, Table2.Colour
FROM Table2
INNER JOIN Table1 ON Table2.Name = Table1.Name

虽然我注意到你有 Id 可能被认为是你的 Primary Key 和 Foreign Key ?如果是这样试试

SELECT Table2.Name, Table2.Location, Table2.Colour
FROM Table2
INNER JOIN Table1 ON Table2.Id= Table1.Id 
于 2013-08-29T16:23:53.623 回答