首页 > 解决方案 > 一个表中的多个外键引用另一表中的不同列

问题描述

我有两张桌子。

表一:客户

| id | name | item_name                   | item_type                   |
| -- | ---- | --------------------------- | --------------------------- |
| 1  | john | fk->items.name or items.id? | fk->items.type or items.id? |          

表2:项目

| id | name | type      |
| -- | ---- | --------- |
| 1  | sink | utilities |          

如何从表customers.item_name中获取值?我知道我可以使用外键,但我很困惑要引用哪些列来创建外键。我什至如何使用 php 语句调用它们?customers.item_typeitems

标签: mysql

解决方案


我相信你正在寻找这样的东西:

SELECT c.`id` as `customer_id`, c.`name` as `customer_name`,
       i.`name` as `item_name`, i.`type` as `item_type`
  FROM `customers` c INNER JOIN `items` i ON c.`item_name` = i.`name`

推荐阅读