PHP使用SQL語句查詢多分組用戶CASE WHEN THEN的使用

select need.*,(case user_class_id when '3' then (select real_name from bussiness_person_info where need.username=bussiness_person_info.username)  else (select simple_name from bussiness_enterprise_info where need.username=bussiness_enterprise_info.username) end ) as  author_name from bussiness_needs as need  ;

 

通過user_class_id的分類,搜索不一樣的表,因爲比如發需求,這個用戶可能是企業商家,也可能是個人商家。他們的表不一樣的,要獲取的內容,只有通過user_class_id的區分來獲取!

 

如果通過系統用戶還要獲取微信的頭像和暱稱,就更復雜些,如下:

 

select need.*,weixin_user.nickname,weixin_user.headimgurl,(case user_class_id when '3' then (select real_name from bussiness_person_info where need.username=bussiness_person_info.username)  else (select simple_name from bussiness_enterprise_info where need.username=bussiness_enterprise_info.username) end ) as  author_name from bussiness_needs as need  left join ucenter_member on need.username=ucenter_member.username left join weixin_union_member  as un on ucenter_member.id=un.member_id left join weixin_user on un.uid=weixin_user.id;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章