这是一个查询,它将提取特定的新闻ID并获取由admins表创建的值和更新的值:
select
adu.id sd as updateID,
adu.name as updateName,
adc.id as createID,
adc.name as createName
from
news ns
left outer join admin adu
on ns.updateBy=adu.id
left outer join admin adc
on ns.createBy=adc.id
where
news.id=1
我已经两次加入管理员表 – 因为管理员更新可能与管理员创建不同 – 如果任一字段为空,则内部联接不起作用.执行此操作还可以选择您想要的(创建或更新),但仍然可以将它们放在同一行数据中.
如果这是你正在寻找的,那么这是一个简单易懂的查询,你可能真的从阅读这个question and answer中受益,我把它放在一起来更详细地解释这样的查询.它详细显示和解释了内部和外部联接,数据分组和聚合.
编辑:我在查询中添加了列别名,这意味着您可以选择所需的列别名.我写的和链接的文章也详细解释了:)