2011-09-08 74 views
0

我有兩個表)tblresign和b)tblemp的使用情況是PostgreSQL的查詢獲取記錄根據病情

tblresign具有參考的tblemp主鍵

tblresign對列leavingdate 一個外鍵tblemp有列退休人員

我想編寫一個查詢條件,如果存在leavedate,那麼它將不會給退休日期,如果退休人員出席,它不會給出任何我只需要一個日期的leaveingdate從他們兩個這是目前

任何一個可以幫助到如何寫在PostgreSQL中關於這一點,選擇查詢

+0

也許你應該給出一個簡短的例子,說明你想要輸出的樣子。 – Edmund

回答

1

不知道我理解你的問題,但什麼:如果在tblresign沒有行的僱員

SELECT e.emp_name, 
     e.id, 
     coalesce(r.leavingdate, e.retiredate) as some_date 
FROM tblemp e 
    LEFT JOIN tblresign r ON e.id = r.emp_id 

或該行的leavingdate爲null,則顯示退休人員。

如果兩個日期都存在,您沒有說明顯示哪個日期。您可能需要更改coalesce()函數中的順序以滿足您的需求。如果你有一個更復雜的規則,那麼你可能需要一個CASE語句來覆蓋它。但爲了回答這個問題,我們需要獲得更多信息。