請教一個sql查詢問題.
laravel 專案中使用
select * from article where(article_id,$article)->get();
根據此 sql 陳述句 查詢出7條資料
查詢出approve 欄位值為 |1||3||7| 這種形式 這個值里面的 1 3 7 是和User表的 user_id對應
需求是想把approve這個欄位 1 3 7 這三個值變為對應的 user_name 張三李四王五
請問可以通過一條sql陳述句,可以查詢出來滿足需求的資料么?
如果不能有什么解決方案?
拜謝了
uj5u.com熱心網友回復:
問題描述不清楚。說一下你現有資料表的情況,以及你需要達到的效果,最好把表貼出來uj5u.com熱心網友回復:

這個圖片是article 表 user表不方便貼出來,但我相信這個應該是能讓大佬們看懂的
uj5u.com熱心網友回復:
假設你的user表欄位為user_id,user_name,試試以下代碼select aa.*, concat("|",ifnull(bb.user_name,"NA"),"||",ifnull(cc.user_name,"NA"),"||",ifnull(dd.user_name,"NA"),"|") approval_nm
from article aa
left join user bb on SUBSTRING_INDEX(SUBSTRING_INDEX(aa.approval,"||",1),"|",-1)=bb.user_id
left join user cc on SUBSTRING_INDEX(SUBSTRING_INDEX(aa.approval,"||",2),"|",-1)=cc.user_id
left join user dd on SUBSTRING_INDEX(SUBSTRING_INDEX(aa.approval,"||",-1),"|",1)=dd.user_id
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/92444.html
標籤:MySQL
