Magento如何獲取產品所在的所有分類?
阿新 • • 發佈:2019-01-29
在Magento中一個產品可以加入多個分類中,那麼如何獲取產品所在的所有分類呢?又要用到SQL了:
1 |
select c.sku |
2 |
,GROUP_CONCAT(p.category_id SEPARATOR
',' ) as
categories |
3 |
from
catalog_product_entity as
c |
4 |
inner
join catalog_category_product
as p |
5 |
on
c.entity_id = p.product_id |
6 |
group
by c.sku; |
多個分類ID用逗號分開,查詢結果如下:
01 |
+-------------------+------------+ |
02 |
| sku | categories | |
03 |
+-------------------+------------+ |
04 |
| 1111 | 22 | |
05 |
| 1112 | 22 | |
06 |
| 1113 | 22 | |
07 |
| 1114 | 22 | |
08 |
| 1gbdimm | 15,31 | |
09 |
| 1tb7200 | 29 | |
10 |
| 226bw | 30 | |
11 |
| 250gb5400 | 29 | |
12 |
| 2gbdimm | 15,31 | |
13 |
| 384822 | 23 | |
14 |
| 4fasd5f5 | 19 | |
15 |
| 500gb5400 | 29 | |
16 |
| 500gb7200 | 29 | |
17 |
| 512dimm | 15,31 | |
18 |
| 750 | 12,26 | |
19 |
| 8525PDA | 8 | |
20 |
+-------------------+------------+ |
這裡的GROUP_CONCAT()函式少見但有用,它可以把多行記錄,合併成一行。這在SQL中通常稱為:行轉列。