2011-11-09 5 views
0

나는 조인으로 select를 가진다. 나는이 작업을 수행 할 수 있다는 사실을 알고 :테이블의 모든 선택된 필드에 문자열을 자동으로 추가하는 방법이 있습니까?

table1.id as table1_id, table1.name as table1_name 

가 이런 식으로 필드를 선택하면 자동으로 할 수 있는지 궁금 : 나는 완전히이 나쁜 관행 것을 이해

table1.* 

하지만, 로컬 테스트에 유용합니다. 이런 식으로 할 수 있는지 궁금합니다.

대단히 감사합니다.

답변

2

ID 및 이름 필드 이름에 몇 가지 추가 컨텍스트를 추가하는 것이 좋습니다 (예 : Person 및 Employee 테이블이있는 경우 person_id 및 employer_id를 필드 이름으로 사용할 수 있음).

테이블 구조를 변경하는 대신 선택할 수있는 필드에 테이블 이름을 자동으로 추가 할 수 있다고 생각하지 않습니다. 그러나 쿼리에 대한 뷰를 만든 다음 응용 프로그램에서 뷰를 선택할 수 있습니다. 다음 예를 고려하십시오.

+-------------+  +-------------+ 
| Person  |  | Employer | 
+-------------+  +-------------+ 
| id   |  | id   | 
| name  |  | name  | 
| employer_id |  +-------------+ 
+-------------+ 

CREATE VIEW PersonEmployer AS 
SELECT 
    person.id as `person_id`, 
    person.name as `person_name`, 
    employer.id as `employer_id`, 
    employer.name as `employer_name` 
FROM 
Person 
INNER JOIN Employer ON (Person.employer_id = Employer.id); 

SELECT * FROM PersonEmployer; 
+0

감사합니다.보기가 속도에 얼마나 영향을 주는지 알고 있습니까? – 0plus1

관련 문제