私はこのように見える2つのテーブルを持っています。どのように一致させるか/私が与えたサンプルのように#tblregisterから#tblheaderまでunifiednumberを探します。すべてのpid番号にはIN-BD(クリーンではない)とIP-BM(クリーン)が必要です。プールナムIN-BDが最初に取引され、続いてIP-BMが行われることを意味します。テーブルのレコードをトランザクションのグループに分割する自己結合を実行する方法
recovernumが再び戻って同じunifiednumberで新しいpid#を作成し、新しい詳細を処理する可能性があります。ありがとうございました。
Create table #tblRegister
( esnnum nvarchar(50),
recoverednum nvarchar(50),
receiptdate datetime,
pid nvarchar(10),
createddatetime datetime,
unifiednumber nvarchar(50)
)
insert into #tblRegister (esnnum,recoverednum,receiptdate,pid, createddatetime, unifiednumber) values
('T008311518089249843905318439','B89249843905318439','2016-10-08 12:39:00.000','T008311518','2016-10-13 04:27:31.000','T49843905318439M'),
('T008311518089249843905318439','B89249843905318439','2016-11-05 11:11:00.000','T008524845','2016-11-16 08:50:51.000','T49843905318439M')
Create table #tblHeader
( unifiednumber nvarchar(50),
pid nvarchar(10),
poolnum nvarchar(10),
startdate datetime,
enddate datetime,
linenum nvarchar(20)
)
insert into #tblHeader (unifiednumber, pid, poolnum, startdate, enddate,linenum) values
('T49843905318439M','P07037433','IN-BD','2016-10-13 16:19:46.000','2016-10-14 01:23:42.000','tb_tb-BD1'),
('T49843905318439M','P07370491','IP-BM','2016-11-07 11:14:30.000','2016-11-08 05:15:30.000','tb_BM3'),
('T49843905318439M','P07418769','IN-BD','2016-11-09 16:07:07.000','2016-11-13 04:10:30.000','tb_tb-BD1'),
('T49843905318439M','P07590987','IN-BD','2016-11-18 03:22:43.000','2016-11-18 22:41:50.000','tb_tb-BD1')
希望の結果:最初の行は、「IN-BD」と「IP-BM」に一致するプールナンバーで既に完成しています。 2行目はまだ完成していません。トランザクションプール番号IN-BDと 'No Clean'を処理しました。
esnnum-------------------------recoverednum--------receiptdate-------------createddatetime-----------unifiednumber-----poolnum-A--pid-A--------linenum-A--------------startdate-----------enddate--------------poolnum-B--linenum-B---pid-B----
================================================================================================================================================================================================================================================
T008311518089249843905318439---B89249843905318439--2016-10-08 12:39:00.000--2016-10-13 04:27:31.000--T49843905318439M--IN-BD------P07037433---tb_tb-BD1---2016-11-9 16:19:46.000--2016-11-13 01:23:42.000-----'IP-BM'-----tb_BM3-----'P07370491'
T008311518089249843905318439---B89249843905318439--2016-11-05 11:11:00.000--2016-11-16 08:50:51.000--T49843905318439M--IN-BD------P07590987---tb_tb-BD1---2016-11-18 03:22:43.000--2016-11-18 22:41:50.000--------------------------------------
最初の1つと2番目の関係は何ですか? – DVT
関係はunifiednumberになります。 – Kaniguan
@Kaniguanどうして? unifiednumberは両方のテーブルで唯一の値です> 'T49843905318439M'それは論理ではありません。 –