MySql JOINS和Count()函数:#1054 - 'on子句'中的未知列'T.parent'

时间:2016-09-27 19:33:48

标签: mysql sql

这是我的疑问:

SELECT A.term_id, 
       B.name, 
       counts
FROM wp_term_taxonomy A
LEFT JOIN (
SELECT COUNT( C.parent ) AS counts
FROM wp_term_taxonomy C
GROUP BY C.term_id
) AS T ON A.term_id = T.parent -- This line causes error
JOIN wp_terms B ON A.term_id = B.term_id
WHERE A.taxonomy =  'product_cat'
AND A.parent =0

运行此语法时出现此错误:

  

#1054 - 'on clause'

中的未知列'T.parent'

如何使用ON?

正确引用我的子查询选择语句

1 个答案:

答案 0 :(得分:3)

您不能使用on子句为不存在的列加入表格(在您没有在dinamically生成的表格T中选择的情况下)

您应该在t表中添加父列,例如:

SELECT A.term_id, B.name, counts
FROM wp_term_taxonomy A
LEFT JOIN (
  SELECT C.term_id as parent, COUNT( C.parent ) AS counts
  FROM wp_term_taxonomy C
  GROUP BY C.term_id
) AS T ON A.term_id = T.parent /* This line causes error*/
JOIN wp_terms B ON A.term_id = B.term_id
WHERE A.taxonomy =  'product_cat'
AND A.parent =0