plan id,buyerId,operId,deptId
user id ,userId,userName
dept id deptId,deptName
根据上面的设计,要得到下面的结果集合
id ,buyerName,operName,deptName
其中buyerId,operId 不一样,但都可以通过user表查到名字?
...全文
1182打赏收藏
怎么实现如下设计
plan id,buyerId,operId,deptId user id ,userId,userName dept id deptId,deptName 根据上面的设计,要得到下面的结果集合 id ,buyerName,operName,deptName 其中buyerId,operId 不一样,但都可以通过user表查到名字?
SELECT * FROM (SELECT plan.id,userName AS buyerName FROM plan LEFT JOIN user ON buyerId=userId) t1 NATURAL JOIN (SELECT plan.id,userName AS operName FROM plan LEFT JOIN user ON operId=userId) t2 NATURAL JOIN (SELECT plan.id,deptName FROM plan LEFT JOIN dept USING(deptId)) t3;
SELECT * FROM (SELECT plan.id,userName AS buyerName FROM plan LEFT JOIN user ON buyerId=userId) t1 NATURAL JOIN (SELECT plan.id,userName AS operName FROM plan LEFT JOIN user ON operId=userId) t2 NATURAL JOIN (SELECT plan.id,deptName FROM plan NATURAL dept USING(deptId)) t3;