2013-10-23 2 views
0

MySQL 데이터베이스에서 Employee 데이터베이스로 작업하고 있습니다. 내 DB는 각각 테이블 edept.dept, edesig.desig, esal.basic, esal.pf에서 PF 다음 표MySQL db Join query

mysql> describe edept;  
+-------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+-------+-------------+------+-----+---------+-------+ 
| id | int(11)  | NO | PRI | NULL |  | 
| dept | varchar(20) | NO |  | NULL |  | 
+-------+-------------+------+-----+---------+-------+ 


mysql>describe esal; 
+-------+---------+------+-----+---------+-------+ 
| Field | Type | Null | Key | Default | Extra | 
+-------+---------+------+-----+---------+-------+ 
| id | int(11) | NO | PRI | NULL |  | 
| basic | int(11) | NO |  | NULL |  | 
| pf | int(11) | NO |  | NULL |  | 
+-------+---------+------+-----+---------+-------+ 

mysql> describe edesig; 
+-------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+-------+-------------+------+-----+---------+-------+ 
| id | int(11)  | NO | PRI | NULL |  | 
| desig | varchar(20) | NO |  | NULL |  | 
+-------+-------------+------+-----+---------+-------+ 


mysql> select * from edetails inner join edept on edetails.dept=edept.id; 
+----+--------+-----+------+-------+-------+----+----+------------------+ 
| id | name | age | dept | desig | basic | pf | id | dept    | 
+----+--------+-----+------+-------+-------+----+----+------------------+ 
| 1 | swetha | 21 | 3 |  2 |  2 | 2 | 3 | Business Process | 
+----+--------+-----+------+-------+-------+----+----+------------------+ 


mysql> describe edetails; 
+-------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+-------+-------------+------+-----+---------+-------+ 
| id | int(11)  | NO | PRI | NULL |  | 
| name | varchar(20) | NO |  | NULL |  | 
| age | int(11)  | NO |  | NULL |  | 
| dept | int(11)  | NO | MUL | NULL |  | 
| desig | int(11)  | YES | MUL | NULL |  | 
| basic | int(11)  | NO | MUL | NULL |  | 
| pf | int(11)  | NO | MUL | NULL |  | 
+-------+-------------+------+-----+---------+-------+ 

내가 부서, 사이트 디자인, 기본 값을 얻을 수 있습니다 포함되어 있습니다.
다른 테이블에서 값을 가져와야하는 모든 필드에 대해 외래 키를 사용했습니다. 샘플 내부 조인 쿼리를 시도했습니다.

mysql> select * from edetails inner join edept on edetails.dept=edept.id; 
    +----+--------+-----+------+-------+-------+----+----+------------------+ 
    | id | name | age | dept | desig | basic | pf | id | dept    | 
    +----+--------+-----+------+-------+-------+----+----+------------------+ 
    | 1 | swetha | 21 | 3 |  2 |  2 | 2 | 3 | Business Process | 
    +----+--------+-----+------+-------+-------+----+----+------------------+ 

My edept table contains the following: 


mysql> select * from edept; 
+----+------------------+ 
| id | dept    | 
+----+------------------+ 
| 3 | Business Process | 
+----+------------------+ 



How can i eliminate duplicate columns. i need the value "business process" in the dept field of the edept table 

답변

0

이 시도 ::

select 
    edetails.id, 
    edetails.name, 
    edetails.age, 
    edetails.dept, 
    edesig.desig, 
    edetails.basic, 
    edetails.pf, 
    edept.dept 

    from edetails 
     inner join edept on edetails.dept=edept.id 
INNER JOIN edesig on edesig.id=edetails.desig 
+0

의 MySQL> DEPT 의해 edetails.dept = edept.id 그룹에 edept 가입 내측 edetails 선택 * 오류 ERROR 1,052 예외 : 다음하지만 출력있어 (23000) : 그룹 문에서 열 '부서'가 모호합니다 – Swetha

+0

@Swetha : 친절하게 내 대답을 업데이트했습니다. –

+0

No Shashi 아직 동일한 출력을 얻지 못했습니다. – Swetha