我需要帮助以了解我做错了什么...我是初学者,所以请问一个简单的问题!
我有两个表要在其中进行联接,在其中一列中,我不得不使用REPLACE来删除对我不感兴趣的文本“ RIxRE”。
在表1中,这是id_notification列的原始文本:RIxRE-1787216-BSB,这是使用REPLACE时返回的文本:1787216-BSB 在第2列中,这是存在的文本:1787216-BSB
但是,出现以下错误:
#1054-“子句”中的未知列“ a.id_not”
SELECT *, REPLACE(a.id_notificacao,'RIxRE','') AS id_not
FROM robo_qualinet_cadastro_remedy a
JOIN (SELECT * FROM painel_monitoracao) b ON a.id_not = b.id_notificacao
答案 0 :(得分:0)
您不能在FROM
之后的WHERE
子句或SELECT
子句中再次使用列别名(根据数据库的不同,可能也不能使用其他子句)。
因此,重复表达式:
SELECT *, REPLACE(a.id_notificacao, 'RIxRE', '') AS id_not
FROM robo_qualinet_cadastro_remedy rqcr JOIN
painel_monitoracao pm
ON REPLACE(rqcr.id_notificacao, 'RIxRE', '') = pm.id_notificacao;
注意:
FROM
子句中不需要子查询。REPLACE()
来满足JOIN
的条件,那么您的数据模型就会出现问题,但这与该问题不同。