[英]MySQL - (#1242) Sub-query returns more than 1 row
我有tbl,包括2列:title和params,值如下:
標題:{“教學”}
PARAMS:
{“ufield926”:“34”,“ufield927”:“Sud”,“ufield928”:“Ara”,“ufield929”:“麥加”,“ufield930”:“1/1/1983”,“ufield933”:“ 011“,”ufield934“:”Mub“,”ufield943“:”SU / HI / 14“,”ufield944“:”平均“,”ufield946“:”女性“}我想在”ufield943“之后提取代碼:僅為SU / HI / 14,並將其與title列中的值連接,如下所示:
- >教學(SU / HI / 14)
這是我試過的查詢:
SELECT CONCAT(title, "(", (select
substring(
params,
locate('ufield943', params) + 12,
locate('ufield944', params) - locate('ufield943', params) - 21
) FROM tbl), ")") AS title
FROM tbl;
每次運行查詢時都會出現以下錯誤
“#1242 - 子查詢返回超過1行”
我使用SUBSTRING
和CHAR_LENGTH
函數從標題中刪除{"..."}
。
我更改- 21
到- 16
並在之前添加空格(
SELECT CONCAT(substring(title, 3,CHAR_LENGTH(title) - 4 ), " (",
substring(
params,
locate('ufield943', params) + 12,
locate('ufield944', params) - locate('ufield943', params) - 16
), ")") AS Title
FROM tbl;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.