在我的情況,我想從下面的表中抽取開始日期和截止日期,你可以看到我只有1個日期列包含依賴於操作列開始/變更/停止日期:SQL查詢根據表中其他列的值提取表中的日期?
01 - Start (New drug start)
02 - Change (Change of dose)
03 - Stop (Drug Stopped)
的棘手的是,當動作= 02劑量改變時,改變日期應該成爲當前劑量的開始日期和前一劑量的停止日期。
我真的與它混淆,,
CREATE TABLE TEST(ID VARCHAR(10), [TherapyAction] INT, [Drug] INT, [Dose] FLOAT, [TherapyDate] DATETIME)
INSERT INTO [dbo].[TEST] VALUES ('XXX' ,1, 1, 60, '01/09/2009 '),
('57A' ,3, 1, 60, '09/07/2011'),
('57A' ,1, 3, 5, '25/06/2010'),
('57A' ,3, 3, 5, '09/07/2011'),
('57A' ,1, 4, 187.5, '19/02/2010'),
('57A' ,2, 4, 250, '01/06/2010'),
('57A' ,3, 4, 250, '09/07/2011'),
('A5B' ,1, 1, 12.5, '26/01/2007'),
('A5B' ,2, 1, 25, '06/02/2007'),
('A5B' ,2, 1, 225, '20/08/2009'),
('A5B' ,1, 4, 62.5, '04/07/2006'),
('A5B' ,2, 4, 125, '12/07/2006'),
('A5B' ,2, 4, 250, '01/05/2008'),
('A5B' ,1, 7, 7.5, '11/09/2006'),
('A5B' ,3, 7, 7.5, '26/01/2007'),
('A5B' ,1, 7, 9, '09/04/2010'),
('A5B', 3, 7, 9, '19/07/2010')
SELECT * FROM [dbo].[TEST]
任何幫助,將不勝感激
嗨管理員非常感謝您的答案.. – arm