我正在使用PHP + MySQL框架; LEVENSHTEIN_RATIO
是一个存储函数。
在PHP $cc
变量的基础上,我编写了以下应返回类似[id, nome, lev_ratio, nazione]
SELECT id, nome, LEVENSHTEIN_RATIO('test', nome) AS lev_ratio, nazione
FROM
(
SELECT nome
FROM class c join sqd s ON c.id_sqd = s.sqd
WHERE c.cc_id = '$cc'
)
ORDER BY lev_ratio DESC
LIMIT 1
但是我收到以下错误:
每个派生表都必须有自己的别名
怎么了? 这是正确的方法还是我应该创建一个程序?
答案 0 :(得分:0)
我认为,正如错误试图告诉您的那样,您应该从嵌套选择中对派生表进行别名。
SELECT id, tabalias.nome, LEVENSHTEIN_RATIO('test', nome) AS lev_ratio, nazione
FROM
(
SELECT nome
FROM class c join sqd s ON c.id_sqd = s.sqd
WHERE c.cc_id = '$cc'
) tabalias
ORDER BY lev_ratio DESC
LIMIT 1