Mysql 未知列,但该列使用两个内部联接存在
我有一个SQL: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
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。请阅读并采取行动。你好请使用图像仅为方便补充文本和/或用于无法在文本中给出的内容。不要给出没有图例/键的图表。总是用谷歌搜索一条错误消息和号码,其中包含或不包含您的特定姓名和代码。阅读所有答案,了解其产生的多种方式。