2016-11-22 3 views
0

Tabelle 1 hat 4 Spalten und die Scheindaten wie folgt aussieht ...Sortier- und Hinzufügen zu einer Tabelle basierend auf Bedingungen

MASTER_ID SUB_ID DESC Percent 
1234  ABC  TEXT 80 
1234  XYZ  TEXT2 20 
1234  XYZ  TEXT4 30 
9876  XYZ  TEXT2 20 
9876  XYZ  TEXT5 10 
9876  ABC  TEXT1 20 

Tabelle 2 sind die unterschiedlichen Werte für jeden MASTER_ID der DESC enthält, die Spalte 3 der Tabelle ist 1 ....

MASTER_ID DESC 
1234  TEXT 
1234  TEXT2 
1234  TEXT4 
9876  TEXT2 
9876  TEXT5 
9876  TEXT1 

ich muss durch TABLE1 suchen und finden, die DESC für jede SUB_ID für jede spezifische MASTER_ID fehlen. Jede MASTER_ID hat nichts mit der anderen zu tun ... was bedeutet, dass ich keine Beschreibungen sehen sollte, die es in MASTER_PLAN nicht gibt. Zum Beispiel hat MASTER_ID 9876 eine DESC von TEXT5. Diese DESC sollte nur in MASTER_ID 9876 DESCs angezeigt werden. Die SUB_ID kann in verschiedenen MASTER_ID existieren. Aber wie bereits erwähnt, sollte jede MASTER_ID als eigenständig betrachtet werden.

der Final Table sollte wie folgt aussehen ....

MASTER_ID SUB_ID DESC Percent 
1234  ABC  TEXT 80 
1234  ABC  TEXT2 0 
1234  ABC  TEXT4 0 
1234  XYZ  TEXT2 20 
1234  XYZ  TEXT4 30 
1234  XYZ  TEXT 0 
9876  XYZ  TEXT2 20 
9876  XYZ  TEXT5 10 
9876  XYZ  TEXT1 0 
9876  ABC  TEXT1 20 
9876  ABC  TEXT2 0 
9876  ABC  TEXT5 0 
+0

Bitte beschriften Sie die Spalten. Was ist MASTER_PLAN? – mzhaase

+0

Sorry MASTER_PLAN sollte MASTER_ID sein ... COL1 ist MASTER_ID, COL2 ist SUB_ID, COL3 ist DESC, COL4 ist Prozent. Für Tabelle 2 hat es nur 2 Spalten ... COL1 ist MASTER_ID und COL2 ist DESC –

Antwort

0

Sie unter Abfrage versuchen

select t3.master_id, t3.sub_id, t3.Desc1, case when t4.percentage is null then 0 else t4.percentage end percentage 
from 
    (select distinct t1.master_id, sub_id, t2.Desc1 
    from table1 t1 
    cross join table2 t2 
    where t1.master_id = t2.master_id) t3  
left join table1 t4 
on t4.master_id = t3.master_id 
    and t3.sub_id = t4.sub_id 
    and t3.desc1 = t4.desc1 

die obige Abfrage geben Sie mir die unten Ergebnis

enter image description here

Hoffe, das sollte dir helfen.

Verwandte Themen