MySQL:规范化数据库的子查询

时间:2013-01-10 18:34:37

标签: php mysql database subquery normalization

我花了很多时间在谷歌上搜索这个并且多次登陆Stackoverflow,但我无法弄清楚如何满足我的需求。

对于大多数人来说,这可能相当轻松,但我无法让它发挥作用。

我们假设我有这张表:

item_data

enter image description here

还有一个:

vendor_data

enter image description here

我想得到的是一个查询,我从第一个表中选择一个项目,查询应该将vendor_id替换为第二个表中指定的相应名称 - 当然仅用于我的输出。

我认为逻辑非常简单,但我无法创建正确的查询。

像: 我从表 item_data 中选择ID为 2 的项目,然后我获得了在 item_data 中指定的vendor_id,此vendor_id正在 vendor_data 中查找 - > vendor_id (3)和右侧 vendor_name (CompanyZ)将作为我的结果返回。

我真的很感谢你的帮助,谢谢!

  • 安迪

1 个答案:

答案 0 :(得分:3)

听起来你只是想要一个简单的连接

SELECT i.item_id, i.item_name, v.vendor_id, v.vendor_name <-- select whatever fields you need here
FROM item_data AS i
INNER JOIN vendor_data AS v ON i.vendor_id = v.vendor.id
WHERE i.item_id = ?  <-- specify item_id for lookup here