2012-03-13 1 views
2

난 그냥 하나의 테이블에 대한 모든 데이터를 검색 여러 테이블에 사용되는 일반적인 MySQL의 문이 있습니다어떻게 MySQL의 쿼리 대신 참조 번호의 관련 분야를 반환

$table = "profiles";//set static for example 
$result = mysql_query("SELECT * FROM `$table`"); 

내가 보여 결과를 싶습니다을 position의 텍스트는 job_id 대신 나타납니다. 쿼리를 일반화 된 상태로 유지하고 관련 텍스트의 ID를 원하지 않는 다른 테이블에 대한 참조 인 여러 필드가있을 경우 어떻게해야합니까?

mysql> show columns from profiles; 
+-------------+--------------+------+-----+---------+----------------+ 
| Field  | Type   | Null | Key | Default | Extra   | 
+-------------+--------------+------+-----+---------+----------------+ 
| staff_id | int(11)  | NO | PRI | NULL | auto_increment | 
| job_id  | int(11)  | NO |  | NULL |    | 
| name  | varchar(100) | NO |  | NULL |    | 
+-------------+--------------+------+-----+---------+----------------+ 

mysql> show columns from job_positions 
+-------------+--------------+------+-----+---------+----------------+ 
| Field  | Type   | Null | Key | Default | Extra   | 
+-------------+--------------+------+-----+---------+----------------+ 
| job_id  | int(11)  | NO | PRI | NULL | auto_increment | 
| position | varchar(100) | NO |  | NULL |    | 
+-------------+--------------+------+-----+---------+----------------+ 

이 필드에 설정할 수있는 일종의 관계가 있으며 쿼리와 함께 id 대신 관련 텍스트를 반환하는 명령을 실행합니까?

+0

당신이 ** 좋은 PHP ORM 라이브러리 **을 원하는 것 같은데 쿼리를 사용 할 수

다음
create or replace view info as select p.job_id as job_id, p.name as name, j.position as position from profile as p, job_position as j where p.job_id=j.job_id 

. com/questions/108699/good-php-orm-library –

답변

1

당신은 뷰를 생성 할 수 있습니다 : HTTP : // 유래 여전히

$table = "info"; 
$result = mysql_query("SELECT * FROM `$table`"); 
+0

그러나보기가없는 테이블은 유망 해 보입니다. 테이블에 대한 뷰를 확인하는 방법이 있습니까? 그렇다면 쿼리를 실행하여 $ table = $ tablename. "_ view"그렇지 않으면 $ table = $ tablename? – Craig

+0

일반 mysql 문의 요점은 $ table이 사용자 작업에서 자동으로 할당된다는 것입니다. 프로파일 버튼을 클릭하여 'profile'을 $ 테이블로 지정합니다. 프로그램에서 다른 것들을 깨뜨릴 것이므로 'people_view'로 변경할 수 없습니다. 따라서 SQL을 실행하기 전에이를 변경해야합니다. 따라서 뷰를 호출하면 'profile_view'를 만들었지 만 $ table.'_ view '를 사용할 수 있지만이 일반 명령문을 사용하는 다른 쿼리는 실패하므로 뷰가 생성되지 않으므로 $ table.'_ view' – Craig