我有四张桌子:
请求:
id----salesid--custid---serial-----active
=======================================
1-------2-------1--------13221-------1
2-------1-------2--------15422-------1
3-------1-------3--------11233-------1
4-------2-------1--------11342-------1
salesid是emp表中的外键,除了emp id之外我们不需要员工表中的任何内容,因此显示其详细信息并不重要
custid是客户ID的外键
serial是该请求的序列
active是删除标志
requestcondition:
id-----requestid-----requestcondition
======================================
1--------1-------------pending
2--------1-------------installation pending
3--------2-------------pending
4--------1-------------completed
和
客户:
id------name
============
1-------aaaa
2-------bbbb
3-------cccc
我想根据salesid列选择为特定请求添加的最后条件以及客户名称和请求序列
答案 0 :(得分:1)
尝试
SELECT Id=scope_identity();
或者
LAST_INSERT_ID();
通过这个你可以获得最后插入的Id,在获得最后一个条件后,在this Link上实现joins.Read。
答案 1 :(得分:0)
select r.id, rc.id, c.name, r.serial, rc.requestcondition
from request r
inner join customer c on c.id=r.custid
inner join requestcondition rc on rc.requestid=r.id
inner join (
select max(id) as rcid
from requestcondition
group by requestid
) latest on latest.rcid=rc.id
这将提供所有请求的最新状态。如果您只需要一个请求的最新状态,则需要在最后添加where子句。