0

我正在使用 Mysql 中的 Employee 数据库。我的 Db 包含以下表格

    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    |       |
+-------+-------------+------+-----+---------+-------+

我必须分别从表 edept.dept、edesig.desig、esal.basic、esal.pf 中获取dept、design、basic、pf的值。
我对必须从其他表中检索值的所有字段使用外键。我尝试了一个示例内部连接查询。但我得到的输出如下:

 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
4

1 回答 1

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
于 2013-10-23T08:59:29.313 回答