連接兩個表我有2個表:Proble與子查詢條件
1)et_pics - 關於僱員這裏信息:
- ob_no,INT,鍵,例如2020
- c_name,varchar,例如運球者D.E.
e_post,varchar,例如,主席
SELECT * FROM et_pics:
ob_no | c_name | e_post
2020 |運球者D.E. |主席
2)et_vacations - 在這裏考慮假期的信息存儲:
- ob_no,INT,例如666 e_pic,int,與pic.ob_no的連接,例如2020
- c_name,varchar,例如假期等等
- e_date從日期,例如, 2010-08-08 00:00:00.000
e_dateTo,日期,e.g 2010-08-09 00:00:00.000
SELECT * FROM et_vacations VAC回報
ob_no | e_pic | c_name | e_dateFrom | e_dateTo
| 777 | 2020 |假期等等| 2010-08-08 00:00:00.000 | 2010-08-09 00:00:00.000 |777 | 2020 |假期等等| 2015-08-08 00:00:00.000 | 2015-08-09 00:00:00.000 |
我需要做的是連接et_vacations與條件et_pics:
- 的可能只有一個每人休假記錄(在我看來,最大 (e_dateTo));
- 假期記錄必須> = getDate()或null顯示爲 。
無法瞭解如何編寫正確的子查詢 - 試圖以這種方式,但沒有運氣:
SELECT
pics.c_name,
pics.e_post,
vac.e_dateTo
FROM et_pics pics
INNER JOIN et_division div on pics.e_division = div.ob_no
INNER JOIN et_vacations vac on vac.e_pic = pics.ob_no
WHERE
(pics.e_fireDate IS NULL OR pics.e_fireDate > getDate())
AND vac.e_dateTo IN (
SELECT MAX(vac.e_pic) from et_vacations vac
GROUP BY vac.e_pic
)
ORDER BY pics.c_name;
在此先感謝您的幫助來解決這個問題。
我沒有完全理解..你可以張貼預期結果的樣本? – sagi
這是一個開始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/或者你可以在sqlfiddle.com上張貼表格和樣本數據 –
什麼是「沒有運氣「的意思?你得到的結果有什麼問題? –