我使用下面的MySQL查詢其工作正常,我指給我所需要的輸出,但...讓我們先看到查詢:如何調整以下MySQL查詢?
select
fl.file_ID,
length(fl.filedesc) as l,
case
when
fl.part_no is null
and l>60
then concat(fl.fileno,' ', left(fl.filedesc, 60),'...')
when
fl.part_no is null
and length(fl.filedesc)<=60
then concat(fl.fileno,' ',fl.filedesc)
when
fl.part_no is not null
and length(fl.filedesc)>60
then concat(fl.fileno,'(',fl.part_no,')', left(fl.filedesc, 60),'...')
when
fl.part_no is not null
and length(fl.filedesc)<=60
then concat(fl.fileno,'(',fl.part_no,')',fl.filedesc)
end as filedesc
from filelist fl
我不想重複,因爲使用的長度函數我想它會在每次聲明性能問題時觸及數據庫。請建議,如果我可以存儲一次,並使用它幾次。
我沒有看到PHP與它有什麼關係。 –
您已經嘗試過使用'l';結果是什麼? –
它看起來應該有兩個if ... else語句嵌套而不是case語句。 –