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;