0
我很新的SQL和#1,所以原諒我的文章的佈局。 目前,我有把以下工作流成可執行的SQL語句掙扎:SQL:移動複製到另一個表,其中條件
我有一個包含一個表中的下列:
- ID(不是唯一的)
- PARTYTYPE(1或2)
- DATE列
- 其他幾個,不相關的列
現在我需要找到那些具有相同ID和相同PARTYTYPE但不是最近的,即,具有在DATE列小於最近期的PARTYTYPE和ID的給定組合的日期觀測(行)。滿足此條件的行需要以存檔他們被轉移到與同桌方案的另一表。
是否有一個有效的,但簡單的方式在SQL做到這一點? 我一直在尋找了很長時間,但由於它涉及尋找具備一定條件的副本,並將其插入到表中,這是一個相當具體的問題。
這是我到目前爲止有:
INSERT INTO table_history
select ID, PARTYTYPE, count(*) as count_
from table
group by ID, PARTYTYPE, DATE
having DATE = MAX(DATE)
任何幫助,將不勝感激!
謝謝戈登。但問題是,我在我的table_history(我想在您的文章是T2)還沒有包含數據,也不會影響該決定行是否是重複的。但是,靠在你的答案,我想我發現了一些可能的工作: INSERT INTO表 SELECT * fromtable爲P1 其中GOODTHROUGHDATE <(SELECT MAX(GOODTHROUGHDATE)的表,其中DOCUMENTID = p1.DOCUMENTID何DOCUMENTID = P1 .DOCUMENTID) – chizze