MySQL错误1248:每个派生表都必须有自己的别名
我在查询时遇到了这个问题MySQL错误1248:每个派生表都必须有自己的别名,mysql,alias,mysql-error-1248,Mysql,Alias,Mysql Error 1248,我在查询时遇到了这个问题 SELECT GROUP_CONCAT( CONCAT( id , '|' , calc_eu , '|' , ( SELECT CASE WHEN texto IS NULL THEN '' ELSE texto END FROM ( SELECT t
SELECT
GROUP_CONCAT( CONCAT(
id , '|' , calc_eu , '|' , (
SELECT
CASE
WHEN texto IS NULL THEN ''
ELSE texto
END
FROM
(
SELECT
texto_es AS texto
FROM
bdgui_diccionario_unidad
WHERE
bdgui_diccionario_unidad.id = bdgui_unidad.text_eu_id
)
)
) SEPARATOR '|' ) AS unidad
FROM
bdgui_unidad ;
如果将别名作为别名添加到子查询中,则会出现另一个错误
SELECT
GROUP_CONCAT( CONCAT(
id , '|' , calc_eu , '|' , (
SELECT
CASE
WHEN texto IS NULL THEN ''
ELSE texto
END
FROM
(
SELECT
texto_es AS texto
FROM
bdgui_diccionario_unidad
WHERE
bdgui_diccionario_unidad.id = bdgui_unidad.text_eu_id
) AS alias
)
) SEPARATOR '|' ) AS unidad
FROM
bdgui_unidad ;
错误代码:1054。“where子句”中的未知列“bdgui\u unidad.text\u eu\u id”您可以用一个简单的IFNULLtexto替换该大小写,您想要分组什么?请提供一些需要选择的输入和输出数据的示例。Finlay我不得不采取另一种方法并重新分解查询。这是我的工作版本。选择组_CONCAT CONCAT id,“|”,calc_eu,“|”,当texto_es为NULL时选择CASE,否则texto_es从bdgui_dicionario_unidad结束,其中bdgui_dicionario_unidad.id=bdgui_unidad.text_EU_id分隔符“|”作为bdgui_unidad的unidad;