以下查询返回非特定错误。
SELECT
mt.id
,mt.name
,(SELECT
fname
FROM
othertable
WHERE
name = mt.name
) AS first_name
,LOWER(first_name)
FROM
mytable mt
如何对此命名列执行字符串操作?
答案 0 :(得分:1)
您不能在另一列中使用子选择的结果。如果要将其设置为小写,请在子选择中执行此操作。如果你需要两者(小写和普通),可以在两个不同的子选择中做这个(很难说 - 不会建议)或者在代码中这样做。
或者尝试将代码重写为连接。
SELECT
mt.id
,mt.name
,ot.fname
,LOWER(ot.fname) as lower_fname
FROM mytable mt
JOIN othertable ot ON ot.name = mt.name