mysql字段值連線語法

2021-09-25 11:22:17 字數 1214 閱讀 7621

問題:

現有一批人員組織名稱需要組合查詢,表userinfo如下:

employee

company

branch

department

usergroup

hall

salepoint

0288000001

廣州分公司

工程建設中心

0221000002

廣州分公司

從化分公司

政企客戶中心

0221000003

廣州分公司

客戶服務(廣州)中心

**服務一室

0221020004

廣州分公司

番禺分公司

市場部0221000005

廣州分公司

白雲分公司

市場部廣州白雲新市服營廳

需要組合成如下所示:company-

branch-department-usergroup-hall-salepoint(若組織為空則忽略)

例:員工0221000005的組織:廣州分公司-白雲分公司-市場部-廣州白雲新市服營廳

解決方法:實現語句:

select a.employee,a.userid,a.fullname,a.title,left(a.prent,char_length(a.prent)-1),a.telephone,a.email,a.jobtype from (select u.employee,u.userid,u.fullname,u.title,replace(replace(replace(concat('中國移動廣東公司-',u.company,'-',ifnull(u.branch, ''),'-',ifnull(u.department, ''),'-',ifnull(u.usergroup, ''),'-',ifnull(u.hall, ''),'-',ifnull(u.salepoint, ''),'-'),'--','-'),'--','-'),'--','-') as prent,u.telephone,u.email,u.jobtype from uum_userinfo u where u.userid<>'null' and u.userid is not null and substr(u.employee,3,2)='21') a ; 

使用的函式:

replace:替換

concat:組合

ifnull:解決各字段值不一定均有值,避免查詢不出結果。

mysql連線字段

語法 concat 等同於字串連線符 concat 字串1,字串2,字串3,將字串1 字串2 字串3,等字串連在一起。請注意,oracle的concat 只允許兩個引數 換言之,一次只能將兩個字串串連起來。不過,在oracle中,我們可以用 來一次串連多個字串。例1 concat goods sn,...

mysql語法之建立計算字段

有的時候我們需要直接從資料庫中檢索出轉換 計算或格式化過的資料 而不是檢索出資料,然後在客戶機應用程式或報告程式中重新格式化。這就會計算字段發揮作用的所在了。計算欄位並不實際存在於資料庫表中。計算欄位你是執行時再select語句內建立的。字段 field 基本上與列 column 的意思相同,經常互...

mysql資料庫的連線語法 MySQL 連線

mysql connect 函式用於開啟乙個到 mysql 資料庫的連線。語法 mysql connect servername,username,password 以上 3 個引數雖然都是可選,但通常情況下我們都需要明確寫明。測試資料庫連線的例子 conn mysql connect localh...