mysql用另一个表中引用的名称替换id的列

时间:2016-11-23 12:16:03

标签: mysql

我有两张桌子,供应商和订单。

suppliers table

id  |  name
-------------
1   |  dell
2   |  lexmark
3   |  xerox


orders table

id_supplier  |  date
--------------------------
2            |  2016-01-01
2            |  2016-01-05
1            |  2016-01-06

想知道我是否可以制作一个select语句,用它的名字替换id_supplier(在供应商表上引用),所以我最终会得到这样的结果:

name_supplier  |  date
--------------------------
lexmark        |  2016-01-01
lexmark        |  2016-01-05
dell           |  2016-01-06

想知道这是否是正确的方法,或者我应该只是在订单表中插入它的名字。提前谢谢!

2 个答案:

答案 0 :(得分:2)

您需要简单的连接

SELECT name as name_supplier, `date` FROM suppliers INNER JOIN orders on suppliers.id = orders.id_supplier
  

想知道这是不是正确的方法   是的,这是正确的方法

     

或者我应该只在命令表中插入它的名字。   不,你不应该有这样的重复数据。请参阅:https://en.wikipedia.org/wiki/Database_normalization

答案 1 :(得分:1)

您可以使用join来执行此操作:

Select sp.name as name_supplier, ors.date from suppliers sp join orders ors on ors=sp.id