Tornado+SQLalchemy(三) SQLalchemy使用去重+組合----distinct+group_concat

目的:將SQLalchemy查詢的多個值去重後拼接

 

過程:

#導包 

from sqlalchemy import and_, distinct
from sqlalchemy import func
from sqlalchemy import or_

 

# 多表查詢
bindusers = session.query(Userinfo.UserID, Userinfo.UserNo,Userinfo.UserName,
                                          Userinfo.Sex, Userinfo.EntryTime,
                                          Userinfo.DeptID, Userinfo.JobID, Dept.DeptName,
                                          Userinfo.UserStatus, Userinfo.Photo,
                                          Job.JobName, Userbind.PrivilegeLevel,
#將查詢的值先 去重(distinct)後 拼接(group_concat),在SQLalchemy中使用方法要先使用func
func.group_concat(distinct(Cardinfo.CardNumber)), Cardinfo.CardType,
                                          Cardtype.Content).filter(Userinfo.DeptID ==     
                                          Dept.DeptID).filter(Userinfo.JobID == 
                                          Job.JobID).filter(Userinfo.UserID == 
                                          Userbind.UserID).filter(Cardinfo.CardID == 
                                          Userbind.CardID).filter(Cardtype.CardType == 
                                          eCardinfo.CardType).filter(Userinfo.PGrpID ==         
                                         Powergroup.PGrpID).filter(BasePowermanage.PGrpID 
    ==BasePowergroup.PGrpID).group_by(Userinfo.UserID).all()

 

發佈了59 篇原創文章 · 獲贊 8 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章