我有三张桌子:
物品
ItemCategories
分类
如果ItemCategories包含:
的 ID
ITEMID
categoryID
如何编写SQL以获取项目的类别名称?
到目前为止,我有:
Select *
from
items,
itemCategories,
categories
where
item.id = itemCategories.itemID
and categories.id = itemCategories.categoryID
答案 0 :(得分:3)
这是逗号分隔的表连接的JOIN形式。
select *
from items i
join itemCategories ic on i.id = ic.itemID
join categories c on c.id = ic.categoryID
通常也是个好主意
items
和categories
中都存在id列,这使得在使用此查询结果的前端应用中引用模糊不清获取具有项目名称的特定类别名称
select c.name
from items i
join itemCategories ic on i.id = ic.itemID
join categories c on c.id = ic.categoryID
where i.name = 'itemname'
注意:如果某个项目可以分为多个类别,则可以返回多个类别名称。