1. ホーム
  2. mysql

[解決済み] SQLで2つのテーブルを複数のカラムで結合する方法は?

2022-03-08 22:12:10

質問

という名前の2つのテーブルがあります。 EvaluationValue .

どちらのテーブルにも、4つの列があります。しかし、4つのうち3つは同じものです。つまり、どちらも CaseNum , FileNum , ActivityNum の列があります。それらに加えて Evaluation テーブルには Grade カラムと Value テーブルには Score カラムがあります。

によって結合して、2つを1つのテーブルに統合したいのです。 CaseNum , FileNum および ActivityNum を含む5つのカラムからなる新しいテーブルを作成しました。 ValueScore .

を使用することはできますか? 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