我的查询基本上是这样的:
SELECT a,
(SELECT name
FROM table3
LIMIT 1) as b
FROM table1
GROUP BY b
但是,我在组声明中收到“未知列'b'的错误。”
那么,如何正确地为此子选择列分配别名?
编辑:我实际上要做的事情有点复杂。我有分配到子类别的产品。一种产品可能有多个子类别。每个子类别都分配给一个主类别,一个产品可能只有一个主类别的子类别。然后我有一个专栏,为产品分配价格。现在,当我想知道在某个主要类别中花了多少钱时,我将表连接起来并按主要类别对它们进行分组并使用SUM(价格)。但是,如果一个产品有多个子类别,则会多次计数。这里的查询是我到目前为止找到的唯一方法,省略了这个问题。
答案 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