0

ネストされたセット モデルを操作しようとしています。

「Pakken」から始まる単一パスを取得すると、その親は「Heren」ですが、これは階層データであるため、「Heren」は自分自身に対して無制限の数の親を持つことができます。

結合で立ち往生しているため、このエラーが発生します

#1054 - Unknown column 'node.id' in 'on clause'

このクエリから、選択したノード`products`.`category_id`と等しくなければならない製品に参加しようとし ます。id

SELECT *
FROM `categories` AS `node`,
     `categories` AS `parent`
INNER JOIN `products` ON `node`.`id` = `products`.`category_id`
WHERE `node`.`lft` BETWEEN `parent`.`lft` AND `parent`.`rght`
        AND `parent`.`id` = '1'
ORDER BY `node`.`lft`;

コードは、INNER JOIN がなくても正常に機能します。

4

2 に答える 2

0

「カンマ」を使用しているため、最初のテーブルはテーブル「ノード」です。2 番目のテーブルは、「親」と「製品」の結合です。したがって、「ON」には、「ノード」からではなく、これら 2 つのテーブルからの列が含まれている必要があります。本当に「node.id=products.category_id」を使用したい場合は、これを WHERE 句に配置する必要があります。

于 2013-09-16T00:02:53.000 に答える