我需要三个表来获取信息。一个表有一个我需要插入另一个表的代码。第三张表将这些联系在一起。
表一具有人员ID号,会话号,交易日期和代码。此表中的某些代码为空白,因此需要进行更新。
表2与表1具有相同的信息,并带有额外的PaymentType字段。
表3与表1具有相同的数据,其中包含PaymentType号,日期和代码,以更新到表1,其中代码为空。
表一中的TransactionDate需要匹配日期或表三中的日期范围。
如果表3中的日期是2015-05-03,2015-05-14和2015-05-30,如何在这两个范围内找到具体日期?如果表1中的日期是2015-05-10,我需要找到它所在的日期范围,以便我可以使用正确的代码更新表格。
CREATE TABLE TableThree (
PersonNumber VARCHAR(8) NOT NULL
,SessionNumber VARCHAR(3) NOT NULL
,transaction_Dates DATE NOT NULL
,Code VARCHAR(3) NOT NULL
);
INSERT INTO
TableThree (PersonNumber, SessionNumber, transaction_Dates, Code)
VALUES
('ABC03854','590','2015-12-21','AAA')
,('ABC03862','591','2015-12-10','AAA')
,('ABC03862','591','2015-12-21','BBB')
,('ABC03893','595','2015-12-02','FFF')
,('ABC03893','595','2015-12-30','AAA')
,('ABC03970','597','2015-12-21','MMM')
,('ABC03976','598','2015-12-10','FFF')
,('ABC08931','519','2015-12-10','FFF')
,('ABC08931','519','2015-12-21','AAA')
,('ABC08931','519','2015-12-30','MMM');
CREATE TABLE mytable (
PersonNumber VARCHAR(8) NOT NULL
,SessionNumber INTEGER NOT NULL
,transaction_date VARCHAR(24) NOT NULL
,CODE VARCHAR(5) NOT NULL
);
INSERT INTO
mytable (PersonNumber,SessionNumber,transaction_date,CODE)
VALUES
('ABC03854',590,'2014-12-23 00:00:00.000',NULL)
,('ABC03862',591,'2014-12-16 00:00:00.000',NULL)
,('ABC03893',595,'2014-12-16 00:00:00.000',NULL)
,('ABC08931',519,'2015-12-22 00:00:00.000',NULL);