2013-05-28 4 views
0

3 개의 고유 값을 가진 db 테이블에 데이터를 삽입하는 방법과 별개가 아닌 추가 열을 삽입하는 방법? 그래서 테이블3 개의 별개 값을 사용하여 db 테이블에 데이터를 삽입하는 방법 그러나 별개가 아닌 추가 열을 삽입하는 방법

data    user 
__________________________________ 
user_id   user_id 
train_code   train_code 
version   version 
score    score 
        first_name 
        last_name 
        nick_name 

그래서 내 data 복합 키가 (user_id, train_code, version)

이 어떻게 (USER_ID, train_code, 버전) 별개뿐만 아니라 점수 열을 추가 user 테이블 에서 data 테이블에 데이터를 삽입 할 포함되어 있습니다 ?

복합 키 제약 조건을 제거해야합니까?

user_id |  train_code | version 

1004679 |  SGOP-0028  | 10  
1004679 |  SGOP-0028  | 11.1 
+0

동일한 (user_id, train_code, version)의 'score'값이 사용자 테이블에 여러 개 있습니까? 그렇다면 모두 반환 하시겠습니까? –

+0

예 값이 여러 개인 경우 USER 테이블의 점수를 반환하고 싶습니다. 처음 3 개가 뚜렷한 것이라면 걱정됩니다. – Angelina

+0

동일한 User_Id, Train_Code, Version을 가진 User Table의 행이 여러 개있을 경우 복합 제한 조건을 제거해야합니다. –

답변

2

당신이 에게 같은 복합 키에 대해 여러 점수가 어떤 점수를 신경 쓰지 않는 경우,이 같은 것을 할 수있는 : 물론

insert into data (user_id, train_code, version, score) 
select user_id , train_code,version, max(score) 
from user 
group by user_id, train_code, version 

을 , "최대 (...)"을 사용하는 것은 임의적이며 특정 점수가 중요하지 않다고 가정합니다. 즉, 분 (...)을 사용할 수 있으며 그것은 모두 당신에게 동일합니다.