簡體   English   中英

MySQL - (#1242)子查詢返回超過1行

[英]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行”

我使用SUBSTRINGCHAR_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;

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM