我有两个名为 Evaluation
和 Value
的表。
在这两个表中,都有四列。但是四个中的三个是相同的。换句话说,它们都有 CaseNum
、FileNum
、ActivityNum
列。除此之外,Evaluation
表有 Grade
列,Value
表有 Score
列。
我想将两者合并到一个表中,通过 CaseNum
、FileNum
和 ActivityNum
加入,所以我有一个新表五列,包括Value
和Score
。
我可以多次使用 INNER JOIN
来执行此操作吗?
最佳答案
是的:您可以使用 Inner Join
来连接多个列。
SELECT E.CaseNum, E.FileNum, E.ActivityNum, E.Grade, V.Score from Evaluation E
INNER JOIN Value V
ON E.CaseNum = V.CaseNum AND
E.FileNum = V.FileNum AND
E.ActivityNum = V.ActivityNum
创建表
CREATE TABLE MyNewTab(CaseNum int, FileNum int,
ActivityNum int, Grade int, Score varchar(100))
插入值
INSERT INTO MyNewTab Values(CaseNum, FileNum, ActivityNum, Grade, Score)
SELECT E.CaseNum, E.FileNum, E.ActivityNum, E.Grade, V.Score from Evaluation E
INNER JOIN Value V
ON E.CaseNum = V.CaseNum AND
E.FileNum = V.FileNum AND
E.ActivityNum = V.ActivityNum
关于mysql - 如何在 SQL 中通过多列连接两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26916741/