我對sql相當陌生,並沉浸了一整天,試圖找出如何執行以下操作。我有3個表,看起來是這樣的:T-SQL:加入三個表並限制到最早遇到
表1
customer_id department_id start_dts 1 2 2011-07-23 14:30:00 3 1 2011-07-24 10:15:00 3 1 2011-08-18 11:14:00 2 3 2012-05-04 05:45:00 1 3 2010-06-09 15:20:00
表2
department_id deparment_nm 1 a 2 b 3 c
表3
customer_id customer_nm 1 betty 2 fred 3 dino
我想要生成最早的enco清單溫特對各部門和相關的客戶名稱的遭遇,使得它看起來像這樣(的部門的順序並不重要): department_nm customer_nm start_dts a dino 2011-07-24 10:15:00 b betty 2011-07-23 14:30:00 c betty 2010-06-09 15:20:00
我第一次試圖通過部門標識加入表2表1然後內部連接表3在customer_id上,並在select語句下使用start_dts的min函數,但是這給每個客戶在每個部門中首次遇到。然後,我嘗試了各種嵌套連接的迭代,並試圖使用over/partition子句來獲得我想要的,但我不認爲我正確地理解了這個概念。任何有識之士都非常感激。
我不認爲你想'customer_id',他只想第一個客戶遇到的部門劃分..而且也爲了通過start_dts ASC – JamieD77
感謝這兩個,非常喜歡。爲了阻止事情發生,並提出了很多次以前的問題 - 我做了搜索,但認爲我足夠的綠色,以至於我可能沒有找到有效的搜索方式。 – PetuniaBegunia