반응형
SQL에서 두 개의 테이블을 여러 열로 결합하는 방법?
이름이 붙은 테이블이 두 개 있습니다.Evaluation그리고.Value.
두 표에 모두 4개의 열이 있습니다.하지만 네 개 중 세 개는 똑같습니다.다시 말해, 그들은 둘 다 다음과 같은 것을 가지고 있습니다.CaseNum,FileNum,ActivityNum기둥들그 외에도.Evaluation테이블은.Grade칼럼, 그리고Value테이블은.Score기둥.
저는 그 둘을 하나의 테이블로 합치고 싶습니다.CaseNum,FileNum,그리고.ActivityNum, 그래서 나는 5열로 된 새로운 테이블을 가지고 있습니다.Value그리고.Score.
사용해도 됩니까?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
아니요, 1 inner join 문의 "ON" 절에 다른 필드를 포함시키기만 하면 됩니다.
SELECT * from Evalulation e JOIN Value v ON e.CaseNum = v.CaseNum
AND e.FileNum = v.FileNum AND e.ActivityNum = v.ActivityNum
단일 조인만 수행하면 됩니다.
SELECT e.Grade, v.Score, e.CaseNum, e.FileNum, e.ActivityNum
FROM Evaluation e
INNER JOIN Value v ON e.CaseNum = v.CaseNum AND e.FileNum = v.FileNum AND e.ActivityNum = v.ActivityNum
기본적으로 다음과 같은 것을 원하게 됩니다.
SELECT e.*, v.Score
FROM Evaluation e
LEFT JOIN Value v
ON v.CaseNum = e.CaseNum AND
v.FileNum = e.FileNum AND
v.ActivityNum = e.ActivityNum;
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
언급URL : https://stackoverflow.com/questions/26916741/how-to-join-two-tables-by-multiple-columns-in-sql
반응형
'sourcecode' 카테고리의 다른 글
| 팔로우하신 링크가 만료되었습니다.again.in 워드프레스를 시도해보시기 바랍니다. (0) | 2023.09.20 |
|---|---|
| 포인터와 레퍼런스의 실제 차이점은 무엇입니까? (0) | 2023.09.20 |
| C 아날로그와 STL 연결 (0) | 2023.09.20 |
| jQuery slideUp().remove()가 제거가 발생하기 전에 슬라이드Up 애니메이션을 표시하지 않는 것 같습니다. (0) | 2023.09.20 |
| 배열에서 첫번째 요소를 제거하고 첫번째 요소를 뺀 배열을 반환합니다. (0) | 2023.09.20 |