mysql - 从节点父亲获取值时出错?

标签 mysql

我有一个示例数据:

product(id, parent_id, name)
        1 |  0  | Windows
        2 |  1  | XP
        3 |  1  | 7
manufacturer(id, parent_id, name)
        1 |  0  | Westwood Studios
        2 |  1  | Red Alert 1
        3 |  1  | Red Alert 2
product_manufacturer(product_id, manufacturer_id)
        2 |  2  
        3 |  2
        3 |  3

和mysql:

SELECT prod.name
FROM `manufacturer` AS child
INNER JOIN `manufacturer` AS parent ON parent.id=child.parent_id 
INNER JOIN `product_manufacturer` AS pr_ma ON pr_ma.manufacturer_id=child.manufacturer_id
INNER JOIN `product` AS prod ON pr_ma.product_id=prod.product_id 
WHERE parent.id=1
GROUP BY prod.id

parent.id=1 (manufacturer=Westwood Studios) 结果为 XP, 7

parent.id=1 结果为 Windows 时如何修复

最佳答案

SELECT prodparent.name
FROM `manufacturer` AS child
INNER JOIN `manufacturer` AS parent ON parent.id=child.parent_id 
INNER JOIN `product_manufacturer` AS pr_ma ON pr_ma.manufacturer_id=child.manufacturer_id
INNER JOIN `product` AS prod ON pr_ma.product_id=prod.product_id 
INNER JOIN product AS prodparent ON prod.parent_id=prodparent.id
WHERE parent.id=1
GROUP BY prod.id

关于mysql - 从节点父亲获取值时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219072/

相关文章:

mysql - 在mysql中从数据库创建转储文件

c# - 保存在以希腊字母 C# 表示的 mysql 行中

html - 关于如何处理实时提要(包含来自 mysql 数据库的数据)的建议

mysql - 构建调查数据库方案

mysql - SQL性能: Using OR is slower than IN when using order by

php - WHERE MATCH (name) AGAINST ('term' ) 不起作用?

javascript - 鼠标选择时突出显示 Pdf 文件中的文本

php - 使用 php、pdo 和 mysql 显示当前登录用户的简单计数器

php - mysqldump创建空sql文件? [Windows 上的 php 和 mysql]

php - 如何在php的另一个页面中调用局部变量