Mysql 未知列,但该列使用两个内部联接存在

Mysql 未知列,但该列使用两个内部联接存在,mysql,join,Mysql,Join,我有一个SQL: select * from products_to_mz join mz_categories on products_to_mz.product_type = mz_categories.id join products_to_mz as ptm on products.products_id = ptm.product_id order by products_to_mz.product_type 我正试图从数据库中获取如下信息: product_id, product

我有一个SQL:

select * 
from products_to_mz
join mz_categories on products_to_mz.product_type = mz_categories.id
join products_to_mz as ptm on products.products_id = ptm.product_id
order by products_to_mz.product_type
我正试图从数据库中获取如下信息:

product_id, product_type_id, product_type_name
(这些列有不同的名称,但我想让你知道这有什么意义)

问题是,当products.products\u标识它实际存在时,我得到了这个SQL错误

SQL错误:
#1054-on子句中的未知列“products.products\u id”

以下是第二个联接表中的结构:

产品到产品结构:

产品结构:


在您的查询中,产品别名没有在任何地方定义,假设它是针对产品_到_mz的,那么查询应该是

SELECT *
FROM   products_to_mz products
       JOIN mz_categories ON  products_to_mz.product_type = mz_categories.id
       JOIN products_to_mz AS ptm ON  products.products_id = ptm.product_id
ORDER BY
       products.product_type

 SELECT *
    FROM   products_to_mz 
           JOIN mz_categories ON  products_to_mz.product_type = mz_categories.id
           JOIN products ON  products.products_id = ptm.product_id
    ORDER BY
           products_to_mz .product_type

看起来您正在尝试进行自联接,但不清楚原因。请包括一些样本数据和预期输出。可能是打字错误。“以ptm形式加入产品”应该是“以ptm形式加入产品”。您应该使用mz_categories.products_id而不是products.products_idHi。请阅读并采取行动。你好请使用图像仅为方便补充文本和/或用于无法在文本中给出的内容。不要给出没有图例/键的图表。总是用谷歌搜索一条错误消息和号码,其中包含或不包含您的特定姓名和代码。阅读所有答案,了解其产生的多种方式。