【问题标题】:Get all parent categories from specific product从特定产品中获取所有父类别
【发布时间】:2017-03-24 10:08:55
【问题描述】:

我无法找出正确的查询,并且所有现有答案都与 Wordpress 相关,而且我不在 wordpress 上,我正在从头开始构建它。 我有这张桌子

我想获取所有父 ID。 如果产品属于“黄色”类别,我想从黄色类别中获取所有父 ID,因此查询“黄色”将是 70、68、66、0。

所以我在所有可能的连接中旋转,最好的结果只是当前类别(或所有这些..)

     $sql2 = "SELECT c1.ID, c1.si, c2.si, c2.ID as parent_id 
              FROM v_menu c1 
              LEFT JOIN v_menu c2 
              on (c2.parent = c1.ID) 
              WHERE (c1.ID = :c1)";
      $st2 = $this->db->prepare($sql2);
      $st2->execute(array(':c1' => $row['MID'])); // $row['MID'] => product category
      $res2 = $st2->fetchAll();

这仅返回与产品类别匹配的类别。

任何提示、链接、解决方案...都会有很大帮助。

【问题讨论】:

标签: php mysql join categories


【解决方案1】:

如果您的父 ID 小于子 ID(通常是这样),则这是正确的查询。

SELECT t.ID, t.si, @pv := t.parent parent
          from (select * from v_menu order by ID desc) t
          join (select @pv := 70) tmp
          where t.ID = @pv

参考:https://stackoverflow.com/a/24901882/2269385

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 2021-01-24
    • 2013-02-26
    相关资源
    最近更新 更多