name type shape
---------------------
name1 type1 shape1
name1 type2 shape1
name1 type3 shape2
在查询之后我需要那个结果:
name shape1Types shape2Types
-----------------------------------
name1 type1, type2 type3
我只能这么想:
select name, group_concat(type) as shape1Types, group_concat(type) as shape2Types
from table
where name = 'name1'
and shape1Types in (select type from table2 where shape = 'shape1')
and shape2Times in (select type from table3 where shape = 'shape2')
group by name
但是在这里它说shape1Types是未知的列
2 回答
通过使用案例时尝试如下
别名名称shape1Types和shape2Types在该WHERE子句中是未知的 .
因此错误 .
而不是使用
IN
,您可以JOIN
到其他2个表中的唯一类型 .