select concat(a.empno,’/’,a.user_id,’/’,a.username) as newcolumn from table as a
(
case
when b.email like ‘%%partner%%’ then ‘Partber’ *如果字段中含有字符partner
locate(‘partner’,b.email)=0 then ‘Samsung’ *如果字段中含有partner, ->1; 如果字段中不含有partner,->0
end
)as employee
Django view 中:
def workstatus(request):
datasql="select a.id,a.drecorddate,c.empno,c.username,a.team_id,a.group_id,"\
"(case when b.email like '%%partner%%' then 'Partner' when locate('partner',b.email)=0 then 'Samsung' end) as Employee,"\
"(case when a.vacationtime=8 then 'No' when a.vacationtime<8 then 'Yes' end) as work_status,"\
"'Home' as work_location,a.project_id,a.task_id,a.designtime,a.executiontime "\
"from wm_dailyrecord as a,auth_user as b,wm_personalinfo as c "\
"where a.drecorddate>'2019-03-08' and a.user_id=c.user_id and a.user_id=b.username"\
workingdata = Dailyrecord.objects.raw(datasql)
print(datasql)
print(workingdata)
return render(request,'WorkData.html',{"workingdata":workingdata,})
select DISTINCT substring_index(substring_index(t.participant,’、’, b.help_topic_id + 1), ‘、’, -1) as user
from wm_training t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.participant) -LENGTH(REPLACE(t.participant, ‘、’, ‘’)) + 1)
Django View Mysql:
sql1 = "(SELECT DISTINCT "\
"(case WHEN (ISNULL(t.participant)=1) || (LENGTH(trim(t.participant))=0) THEN t.host WHEN ISNULL(t.participant)=0 THEN substring_index(substring_index(t.participant,'、', b.help_topic_id + 1), '、', -1) end ) as userlist,"\
"t.id,t.trainingtype_id,t.status,t.trainingname,t.startdate,t.enddate,t.hour,t.host "\
"FROM wm_training t join mysql.help_topic b ON b.help_topic_id < (LENGTH(t.participant) - LENGTH(REPLACE(t.participant, '、', '')) + 1)"\
")as w "\
sql2 = "(select w.id,a.user_id,(concat(a.empno,'/\',a.user_id,'/\',a.username)) as user,w.trainingname,w.trainingtype_id,w.status,w.startdate,w.enddate,w.hour,w.host,w.userlist "\
"from wm_personalinfo as a, " + sql1+ \
"where a.username = w.userlist"\
") as d "\
datasql = "select DISTINCT d.id,c.team_id,c.group_id,d.user,d.trainingtype_id,d.status,d.trainingname,d.startdate,d.enddate,d.hour,d.host "\
"from wm_dailyrecord as c," +sql2+ \
"WHERE d.user_id = c.user_id"\