- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从 Open Cart
数据库中导出所有产品及其父类别。我的表是:
oc_product_description
(产品 ID、名称、语言....)
oc_product
(product_id, model, price, status ...)
oc_product_to_category
(产品 ID、类别 ID)
oc_category
(category_id,状态....)
oc_category_description
(类别 ID、名称、语言 ID ...)
到目前为止,这是我的代码:
select pd.name as 'product', cd3.name as 'cat 1', cd2.name as 'cat 2', cd.name as 'cat 3', p.model, p.price
from oc_product_description pd
join oc_product p on pd.product_id = p.product_id
join oc_product_to_category pc on p.product_id = pc.product_id
join oc_category c on pc.category_id = c.category_id
join oc_category_description cd on c.category_id = cd.category_id
join oc_category c2 on (c.parent_id = c2.category_id)
join oc_category_description cd2 on c.category_id = cd2.category_id
join oc_category c3 on (c2.parent_id = c3.category_id)
join oc_category_description cd3 on c3.category_id = cd3.category_id
where
p.status = 1 AND pd.language_id = 2 AND c.status = 1 AND cd.language_id = 2
AND ((c2.status = 1 AND cd2.language_id = 2) OR c.parent_id = 0)
AND ((c3.status = 1 AND cd3.language_id = 2) OR c2.parent_id = 0)
但问题是它不会返回只有一个或两个级别类别的产品(c.parent_id = 0
和/或 c2.parent_id = 0
)
更新
我最终导出了 3 个不同的文件,然后将它们合并...第一个文件包含所有 3 个级别的类别,第二个文件包含 2 个级别的类别,第三个文件只有一个级别的类别
最佳答案
使它为空的是您的第 3 级类别。加入时为您的第 3 级类别添加条件。
join oc_category c3 on (c2.parent_id = c3.category_id and c3.category_id != c.category_id)
完成查询
select pd.name as 'product', cd3.name as 'cat 1', cd2.name as 'cat 2', cd.name as 'cat 3', p.model, p.price
from oc_product_description pd
join oc_product p on pd.product_id = p.product_id
join oc_product_to_category pc on p.product_id = pc.product_id
join oc_category c on pc.category_id = c.category_id
join oc_category_description cd on c.category_id = cd.category_id
join oc_category c2 on (c.parent_id = c2.category_id and c2.category_id != c.category_id)
join oc_category_description cd2 on c.category_id = cd2.category_id
join oc_category c3 on (c2.parent_id = c3.category_id and c2.category_id != c.category_id and c3.category_id != c.category_id)
join oc_category_description cd3 on c3.category_id = cd3.category_id
where p.status = 1 AND pd.language_id = 2 AND c.status = 1 AND cd.language_id = 2 AND
((c2.status = 1 AND cd2.language_id = 2) OR c.parent_id IS NULL)
AND ((c3.status = 1 AND cd3.language_id = 2) OR c2.parent_id IS NULL)
关于MySQL 将产品与类别树连接起来,即使类别为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58337259/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!