2014-01-23 4 views
0

현재 두 테이블에 정의 된 사용자 구조가 있습니다. 사용자 (ID, 이름) 및 UserParams (user_id, param, value) 따라서 현재 데이터는 아래 :MySQL의 모방 테이블 (보기 또는 저장된 함수)

New User structure: 
id, name, address, phone 
1, "John", "Kilmainham str", "+12345678" 
2, "Bob", "Orc's cave", "just speak up" 

나쁜 것은, 데이터베이스 리팩토링 매우 어려울 것이다 많은 저장 프로 시저가 있습니다

User: 
id, name 
1, "John" 
2, "Bob" 

UserParams: 
user_id, param, value 
1, "Address", "Kilmainham str" 
1, "Phone", "+12345678" 

나는 사용자가 명시 적으로 열을 해결 전화 등을 할 수 있도록 데이터베이스를 리팩토링 할 한줄기에. 그래서 오래된 "UserParams"동작을 모방 할 수있는 뷰 또는 저장 함수가 필요합니다.

SELECT * FROM UserParams WHERE user_id=1; 
1, "Address", "Kilmainham str" 
1, "Phone", "+12345678" 

그렇게 할 방법이 있습니까? 감사.

답변

1
CREATE VIEW UserParams (user_id, param, value) 
AS SELECT id, "Address" , address 
FROM New_User 
UNION 
SELECT id, "Phone", phone 
FROM New_User 
+0

정확히 내가 필요한 것, 감사합니다! – ZAN