嘿所以我有一个Junction表连接两个不相关的表.两张桌子都有ID.我需要ID使用WHERE不同的值从每个表中选择,例如我是这样看的:
INSERT INTO c (aID, bID)
VALUES (SELECT a.ID WHERE a.Name="Me", SELECT b.ID WHERE b.Class="Math");
Run Code Online (Sandbox Code Playgroud)
我见过的所有示例都使用了一个join语句,但这两个表都有一个共同的值,在这种情况下它们没有.
Yog*_*ngh 44
试试这个查询:
INSERT INTO C (aID, bID)
SELECT A.ID, B.ID
FROM A, B
WHERE A.Name='Me'
AND B.Class='Math';
Run Code Online (Sandbox Code Playgroud)
Name假设给定的和的每个表中只有一个值Class,最简单的方法是将子查询括在 中():
INSERT INTO c VALUES (
(SELECT ID from a where Name='Me'),
(SELECT ID from b where Class ='Math')
)
Run Code Online (Sandbox Code Playgroud)
另一种方式可以是
INSERT INTO c (aID, bID)
SELECT
(SELECT A.id FROM TableA A WHERE A.names = 'sometext'),
B.id FROM TableB B
WHERE
B.x_name ='othertext';
Run Code Online (Sandbox Code Playgroud)