tsql - T-SQL | 3 Tables, Optional Joins, Confused -


i have orders table lists stores parts deleted, removed , installed on each job.

--deleted items on order. declare @deleted table (id int, item int);  insert @deleted (id, item) values (1, 12345), (2, 12345);  -- removed items on order declare @removed table (id int, item int);  insert @removed (id, item) values(3, 12345), (4, 67891);  --installed items on order declare @installed table (id int, item int);  insert @installed(id, item) values(1, 12345), (2, 67891), (3, 12345), (4, 12345), (4, 67891); 

i need following result set:

--required result set      /*          id  |     del / rem   |   installed | match |         1   |     12345     |   12345       |   1   |         2   |     12345     |   67891       |   0   |         3   |     12345     |   12345       |   1   |         4   |     67891     |   67891       |   1   |         4   |     null      |   12345       |   0   |      */ 

the main problem have order 4. there match on 1 of parts installed not second. need id = id , if possible item = item or item if doesn't match.

i know maximum number of alternate installed items two, each order, there maximum of 2 different item number installed (currently).

i know there may multiple deleted or removed items (not depicted above).

any appreciated.


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -