日期:2014-05-17  浏览次数:20543 次

这样的数据库如何设计或者如何设计查询语句
比如,一张单据表,里面有录入人ID,审核人ID,这两个ID同时引用了用户表中的ID,有这样设计的吗,如果这样设计的话,查询语句如何写呢?
用户表结构为:ID,姓名
单据表结构为:单据表ID,单据内容
假设录入人与审核人不是同一个人:
需要出的结果是:单据表ID,单据内容,录入人ID,录入人姓名,审核人ID,审核人姓名

不知道问题说清楚了没,我实在想不出那条查询语句如何写,以前采取去掉审核人ID字段

------解决方案--------------------

select a.单据表ID,
       a.单据内容,
       a.录入人ID,
       b.姓名 as 录入人姓名,
       a.审核人ID,
       c.姓名 as 审核人姓名

from 单据表 a
left join 用户表 b 
       on a.录入人ID = b.id
left join 用户表 c 
       on a.审核人ID = c.id
       

------解决方案--------------------
这个可以分表,也可以用一个类似type的字段来区分是什么角色的人