mysql - 加入问题

时间:2011-05-04 05:13:20

标签: mysql sql

我有两张表,如下,

mysql> select * from Books ;
+----+------+------------+----------+----------+
| id | name | author_name| category | category2|
+----+------+------------+----------+----------+
|  1 |    1 | Steve      |    CT001 |    CT003 |
|  2 |    2 | John       |    CT002 |    CT002 |
|  3 |    3 | Larry      |    CT003 |    CT002 |
|  4 |    3 | Michael    |    CT004 |    CT004 |
|  5 | NULL | Steven     |    CT005 |    CT005 |
+----+------+------------+----------+----------+

mysql> select * from Codemst ;
+----+------+------------+
| id | code |    name    |
+----+------+------------+
|  1 | CT001| fiction    |
|  2 | CT002| category1  |
|  3 | CT003| etc        |
|  4 | CT004| etc2       |
|  5 | CT005| etc3       |
+----+------+------------+

当我查询“select * from Books”时,我想获得人类可读的类别名称 如果Books表中只有一个类别,我想我可以使用“加入”,但在这种情况下,我该怎么办?

1 个答案:

答案 0 :(得分:4)

select * from Books b 
    Inner Join Codemst c1 on b.category = c1.code 
    inner join codemst c2 on b.category2 = c2.code;

c1.name将保留可读类别,c2.name将保持可读类别