如何使用列值连接表?
我有如下列出的三个表:
消息表
----------------------------------------------------------------------------- msg_id | msg_sub | msg_to | to_user_type | msg_from | from_user_type ----------------------------------------------------------------------------- 001 | test | 88 | manager | 42 | admin 002 | test2 | 88 | manager | 94 | manager
管理员表
-------------------------— admin_id | admin_name -------------------------— 001 | Super Admin
manager_table
--------------------------- manager_id | manager_name --------------------------- 88 | Mandela 94 | Kristen
如何使用 SQL 查询获得所需的输出,如下所示。即当满足以下条件时,关于列值连接表:
如果
user_type = admin
那么它应该加入admin_table
.如果
user_type = manager
那么它应该加入manager_table
.
期望的输出:
-----------------------------------------------------
msg_id | msg_sub | msg_to_name | msg_from_name
-----------------------------------------------------
001 | test | Mandela | Super Admin
002 | test2 | Mandela | Kristen
即根据列值获取join sql查询。
编辑:
我想从 sql 查询中获取数据,而不是从服务器端编码。
我从这里尝试了这个查询,即 Winfred 的想法(已回答)
但是,我无法理解。
msg_by_usertype
是基于列的,manager
那么它应该选择的值在哪里manager_table
,如果它是 admin 到admin_table