我正试图基于共享值将两个表连接到一个新表,但运气不佳。这是我得到的。
表1:
id |name |
----------|---------|
1 |test1 |
表2:
id |name |location |color |
----------|---------|---------|---------|
1 | test1 | 10 | blue |
我想要的是一个新表(表3),它从表1中获取"name",并将其与表2中的name进行匹配,然后将匹配结果粘贴到表3中。任何与表1不匹配的内容都应被忽略。所以,如果我在表2中有"test99",但在表1中没有,不要把它放在表3中。
我读到的所有东西都说这应该不难做到,但我只是运气不好。
谢谢!
尝试
SELECT Table2.Name, Table2.Location, Table2.Colour
FROM Table2
INNER JOIN Table1 ON Table2.Name = Table1.Name
虽然我注意到你有Id,可能被认为是你的主键和外键?如果是,请尝试
SELECT Table2.Name, Table2.Location, Table2.Colour
FROM Table2
INNER JOIN Table1 ON Table2.Id= Table1.Id
您可以在表中进行选择。
Select * INTO Table3
FROM Table2
WHERE Table2.Name IN (SELECT Name FROM Table1)
或者您可以使用INSERT。。。SELECT-语法并使用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