說一個表,我有這樣的(SQL Server 2008中)的表:了陷入選擇性DELETE語句在T-SQL
CREATE TABLE tbl (ID INT, dtIn DATETIME2, dtOut DATETIME2, Type INT)
INSERT tbl VALUES
(1, '05:00', '6:00', 1), -- will be removed
(2, '05:00', '7:00', 1), -- will be removed
(3, '05:01', '8:00', 1),
(4, '05:00', '8:00', 1),
(5, '05:00', '6:00', 2), -- will be removed
(6, '05:00', '7:00', 2),
(7, '05:00', '7:00', 3),
(8, '04:00', '7:00', 3)
我需要刪除相同的「類型的所有記錄'(如果找到2個或更多),''類型'具有相同的'dtIn',但具有最大'dtOut'的除外。換句話說,上面的表格應該導致這樣的:
(3, '05:01', '8:00', 1), -- no matching 'dtIn' for 'type' = 1
(4, '05:00', '8:00', 1), -- largest 'dtOut' for 'type' = 1
(6, '05:00', '7:00', 2), -- largest 'dtOut' for 'type' = 2
(7, '05:00', '7:00', 3), -- no matching 'dtIn' for 'type' = 3
(8, '04:00', '7:00', 3) -- no matching 'dtIn' for 'type' = 4
你怎麼連選擇具有相同類型從同一個表中的多個行。你不能這樣做SELECT * FROM TBL其中type =類型....無論如何,我會很感激一些幫助,這...
聽着,它怎麼連力所能及的爲你做字面上10秒我的東西內張貼,當我已經整個上午工作在這??? – ahmd0 2012-07-20 22:09:52
@ ahmd0:很多練習!第一次我不得不做這樣的事情,這也花了我一段時間。 :-) – 2012-07-20 22:12:32
不,認真的,馬克,你如何學習所有這些東西?有沒有特別的書教你這個...因爲它不僅僅是一種簡單的編程技巧。 – ahmd0 2012-07-20 22:13:59