Quantcast
Channel: SQLServerCentral » SQL Server 2014 » Development - SQL Server 2014 » Latest topics
Viewing all articles
Browse latest Browse all 3145

Serial Tracking from specific Source To Specific Goal

$
0
0
HiWe have several warehouses for our goods. [code="sql"]Create Table WareHouses(WId int , WareHouseTitle Varchar(20))[/code]with Thses data : [code="sql"]INSERT [dbo].[WareHouses] ([Id], [WareHouseTitle]) VALUES (1, N'Main')INSERT [dbo].[WareHouses] ([Id], [WareHouseTitle]) VALUES (2, N'ReturnWareHouse')INSERT [dbo].[WareHouses] ([Id], [WareHouseTitle]) VALUES (3, N'UnderInvestigation')INSERT [dbo].[WareHouses] ([Id], [WareHouseTitle]) VALUES (4, N'Defected')INSERT [dbo].[WareHouses] ([Id], [WareHouseTitle]) VALUES (5, N'DistributionCenter2')[/code]we create one Receipt for every Goods operation (Purchase , Sell , Change warehouse , ... )[code="sql"]CREATE TABLE [dbo].[receipt]( [RId] [int] NULL, [Receiptdate] [datetime] NULL, [ReceiptType] [int] NULL, [WareHouseid] [int] NULL) ON [PRIMARY][/code]These are type of our receipts : [code="sql"]/*ReceiptType1=Purchase2=Sell3=Return Fom Sell 4=Exit From Warehouse5=Enter to Warehouse*/INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (100, CAST(N'2015-11-01 00:00:00.000' AS DateTime), 2, 1)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (101, CAST(N'2015-11-01 00:00:00.000' AS DateTime), 2, 1)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-11-02 00:00:00.000' AS DateTime), 1, 1)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (103, CAST(N'2015-11-02 00:00:00.000' AS DateTime), 1, 1)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (104, CAST(N'2015-11-03 00:00:00.000' AS DateTime), 1, 1)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-11-03 00:00:00.000' AS DateTime), 3, 2)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (104, CAST(N'2015-11-03 00:00:00.000' AS DateTime), 3, 2)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-11-03 00:00:00.000' AS DateTime), 4, 2)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-11-03 00:00:00.000' AS DateTime), 5, 3)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (104, CAST(N'2015-03-04 00:00:00.000' AS DateTime), 4, 2)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (104, CAST(N'2015-03-04 00:00:00.000' AS DateTime), 5, 3)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-03-05 00:00:00.000' AS DateTime), 4, 3)INSERT [dbo].[receipt] ([RId], [Receiptdate], [ReceiptType], [WareHouseid]) VALUES (102, CAST(N'2015-03-05 00:00:00.000' AS DateTime), 5, 1)[/code]And Receipt Detail : [code="sql"]Create Table ReceiptDetail(RDId int,RId_Ref Int,GoodsId int,GoodsSerial Bigint)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (500, 100, 800, 800001)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (501, 100, 800, 800002)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (503, 100, 801, 801001)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (504, 101, 801, 801002)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (505, 101, 802, 802001)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (506, 102, 800, 800003)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (507, 103, 801, 801003)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (508, 103, 802, 802003)INSERT [dbo].[ReceiptDetail] ([RDId], [RId_Ref], [GoodsId], [GoodsSerial]) VALUES (509, 104, 801, 801004)[/code]And ... I want That Goods serials which In their path , - enter to a warehouse (for example wid = 2) - And Finally passed from another warehouse (for example wid = 1)what is the best Tsql for Serial Tracking from A to B . Thank you

Viewing all articles
Browse latest Browse all 3145

Trending Articles