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

Difference Between source OrderItems And ReturnOrderItems

$
0
0
HIWe have 4 Tables :1- Order (Head of orders)2- OrderItems (Details Of orders)3- ReturnORD (head of some Orders which have some returned items)3- ReturnORDItems (detail of OrderItems which have returned)Now :we need a view from Tbl_OrderItem which show us the remain records : including 1) All records which did not have any return + 2) Records which after return have remain count (5-2=3 we have 3 count of this item yet)I used Left join . but it does not support difference count And I lost them. I can do it with functions but I am willing for a better performance. Thank you . /****** Object: Table [dbo].[Table_Order] Script Date: 31/08/2016 12:50:52 ب.ظ ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Table_Order]( [Id] [int] NULL, [OrderPayable] [int] NULL) ON [PRIMARY]GO/****** Object: Table [dbo].[Table_OrderItem] Script Date: 31/08/2016 12:50:52 ب.ظ ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Table_OrderItem]( [Id] [int] NULL, [OrderId] [int] NULL, [ItemId] [int] NULL, [Count] [int] NULL, [ItemPayable] [int] NULL) ON [PRIMARY]GO/****** Object: Table [dbo].[Table_ReturnORD] Script Date: 31/08/2016 12:50:52 ب.ظ ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Table_ReturnORD]( [Id] [int] NULL, [OrderId] [int] NULL) ON [PRIMARY]GO/****** Object: Table [dbo].[Table_ReturnORDItem] Script Date: 31/08/2016 12:50:52 ب.ظ ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Table_ReturnORDItem]( [Id] [int] NULL, [ReturnORDId] [int] NULL, [ItemId] [int] NULL, [Count] [int] NULL, [ReturnORDItemPayable] [int] NULL) ON [PRIMARY]GOINSERT [dbo].[Table_Order] ([Id], [OrderPayable]) VALUES (1, 1200)GOINSERT [dbo].[Table_Order] ([Id], [OrderPayable]) VALUES (2, 380)GOINSERT [dbo].[Table_Order] ([Id], [OrderPayable]) VALUES (3, 400)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (100, 1, 8880, 5, 50)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (101, 1, 8881, 1, 150)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (102, 1, 8882, 2, 400)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (103, 2, 8881, 2, 150)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (104, 2, 8883, 1, 80)GOINSERT [dbo].[Table_OrderItem] ([Id], [OrderId], [ItemId], [Count], [ItemPayable]) VALUES (105, 3, 8882, 1, 400)GOINSERT [dbo].[Table_ReturnORD] ([Id], [OrderId]) VALUES (500, 1)GOINSERT [dbo].[Table_ReturnORD] ([Id], [OrderId]) VALUES (501, 2)GOINSERT [dbo].[Table_ReturnORDItem] ([Id], [ReturnORDId], [ItemId], [Count], [ReturnORDItemPayable]) VALUES (1, 500, 8880, 2, 50)GOINSERT [dbo].[Table_ReturnORDItem] ([Id], [ReturnORDId], [ItemId], [Count], [ReturnORDItemPayable]) VALUES (2, 500, 8881, 1, 150)GOINSERT [dbo].[Table_ReturnORDItem] ([Id], [ReturnORDId], [ItemId], [Count], [ReturnORDItemPayable]) VALUES (3, 501, 8881, 1, 150)GO

Viewing all articles
Browse latest Browse all 3145

Trending Articles