2015-01-15 77 views
-1

NAME和VER是主鍵。 而不是寫下我想要做的事情,我會畫畫。將一個表複製到另一個表加上依賴於另一列的一列

表起始:

NAME | SOMETHING1 | VER | SOMETHING2 | MODDATIME 
john | bob  | 1 | doe  | 18-AUG-14 10.16.08.695221100 AM 
john | bob  | 2 | doe  | 19-AUG-14 11.01.42.109826000 AM 
john | bob  | 3 | doe  | 09-SEP-14 10.14.15.929342100 AM 
john | bob  | 4 | doe  | 10-SEP-14 10.14.15.929342100 AM 

表目標:

NAME | SOMETHING1 | VER | SOMETHING2 | MODDATIME      | DATEUP 
john | bob  | 1 | doe  | 18-AUG-14 10.16.08.695221100 AM | 19-AUG-14 11.01.42.109826000 AM 
john | bob  | 2 | doe  | 19-AUG-14 11.01.42.109826000 AM | 09-SEP-14 10.14.15.929342100 AM 
john | bob  | 3 | doe  | 09-SEP-14 10.14.15.929342100 AM | 10-SEP-14 10.14.15.929342100 AM 
john | bob  | 4 | doe  | 10-SEP-14 10.14.15.929342100 AM | 31-DEC-99 0.0.0.0 AM 

感謝。

+0

那麼,什麼是你想怎麼辦? – axiac 2015-01-15 16:59:04

+0

表格目標爲空。只有列被設置。我想將表格原點複製到表格目標,但是使用DATEUP的特定技巧。 – Bebeoix 2015-01-15 17:06:20

+0

「特定技巧」並不像你想象的那麼明顯。對我而言,'DATEUP'看起來像隨機數據。 – axiac 2015-01-15 17:24:07

回答

0

做一個OUTER JOIN與同桌得到的結果

SELECT a.NAME, 
     a.something, 
     a.VER, 
     a.something, 
     a.MODDATIME, 
     Ifnull(b.MODDATIME,'31-DEC-99 0.0.0.0 AM') AS DateUP 
FROM Yourtable a 
     LEFT OUTER JOIN Yourtable b 
       ON a.NAME = b.NAME 
       AND a.VER = b.VER - 1 
+0

這假定'VER'列中的值是連續的,沒有任何間隙。 – axiac 2015-01-15 20:17:19

+0

DATUP列中有(空)。此外,我需要插入到某個位置以將條目放入目標表中。 – Bebeoix 2015-01-16 09:55:35

+0

@Bebeoix - 是的最後一行將爲空。您可以使用'IFNULL'來獲取默認日期或最後日期 – 2015-01-16 10:17:19

相關問題