加入选定的列

时间:2014-01-20 05:45:00

标签: mysql

我的查询基本上是这样的:

SELECT a,   
    (SELECT name
     FROM table3 
     LIMIT 1) as b
FROM table1
GROUP BY b

但是,我在组声明中收到“未知列'b'的错误。”

那么,如何正确地为此子选择列分配别名?

编辑:我实际上要做的事情有点复杂。我有分配到子类别的产品。一种产品可能有多个子类别。每个子类别都分配给一个主类别,一个产品可能只有一个主类别的子类别。然后我有一个专栏,为产品分配价格。现在,当我想知道在某个主要类别中花了多少钱时,我将表连接起来并按主要类别对它们进行分组并使用SUM(价格)。但是,如果一个产品有多个子类别,则会多次计数。这里的查询是我到目前为止找到的唯一方法,省略了这个问题。

2 个答案:

答案 0 :(得分:3)

SELECT * FROM 
(
  SELECT a,   
  (SELECT name
   FROM table3 
   LIMIT 1) as b
  FROM table1
) as R
GROUP BY b

答案 1 :(得分:1)

您必须在Select Statement

中使用Select

喜欢这个

SELECT * FROM 
(
  SELECT a,(SELECT name FROM table3 LIMIT 1) as b FROM table1
) As Temp

GROUP BY b