好的,我有这个结构
产品
* PRODUCT_ID (primary key)
* PRODUCT_NAME
类别
* CATEGORY_ID (primary key)
* CATEGORY_NAME
* CODE
PRODUCT_CATEGORIES_MAP
* PRODUCT_ID (primary key, foreign key to PRODUCTS)
* CATEGORY_ID (primary key, foreign key to CATEGORIES)
* QUANTITY
我正在使用这个查询
SELECT * FROM `products`
where id in (
SELECT `product_id`
FROM `categorizations`
WHERE category_id = (
SELECT id
FROM `categories`
where code = 'something'))
这很好用,但我只是得到了一个产品列表。我需要连接表中每一个的数量
最佳答案
您解释中的表名与您的示例查询不同。我使用了您查询中的那些。
SELECT p.product_id ,
p.product_name,
pc.quantity
FROM `products` p
JOIN `categorizations` pc
ON p.id = pc.`product_id`
JOIN `categories` c
ON c.id = pc.category_id
WHERE c.code = 'something'
关于sql - 从连接表中获取额外数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3605010/