【发布时间】:2017-05-18 20:00:01
【问题描述】:
当我执行以下查询时,我收到一个异常:
错误代码:3065 ORDER BY 子句的表达式 #1 不在 SELECT 中 列表,引用不在的列“webstore.level_depth” 选择列表;这与 DISTINCT 不兼容
我的查询:
SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite
FROM `pj_category_shop` cs, `pj_category` c
INNER JOIN `pj_category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = 1 AND cl.id_shop = 2 )
WHERE (c.`active` = 1 OR c.`id_category` = 2)
AND cs.`id_category` = c.`id_category`
AND cs.`id_shop` = 2
AND c.`id_category` != 1
AND `level_depth` <= 2
AND c.id_category IN (
SELECT id_category
FROM `pj_category_group`
WHERE `id_group` IN (3)
)
ORDER BY `level_depth` ASC, cl.`name` ASC;
为什么会这样?
【问题讨论】:
标签: mysql