[英]Select from 3 joined tables with condition?
我有四個表:
請求:
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表中的外鍵,我們不需要employee表中的任何東西,除了emp id外,因此顯示其詳細信息並不重要
CUSTID是客戶ID的外鍵
serial是該請求的序列號
活動是刪除標志
請求條件:
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列請求序列號
嘗試
SELECT Id=scope_identity();
要么
LAST_INSERT_ID();
通過這個,你可以得到最后插入的標識和獲得最后一個條件后,在實施joins.Read一下這個鏈接 。
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子句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.