2017-10-23 3 views
0

bekomme Ich arbeite an einer Abfrage Ich habe die Hälfte davon abgeschlossen, aber auf der anderen Hälfte fest.Wie man Daten in Sql nach Kundennummer

Ich habe eine Tabelle ## Tabelle 1, in der ich unter Spalten

CusNbr Ind Acctnbr 
    1  O  10 
    2  I  10 
    3  U  10 
    4  O  20 
    5  I  20 
    6  O  30 
    7  U  30 
    8  I  40 
    9  I  40 
    10  O  50 
    10  I  50 
    10  I  60 

Jetzt bis cusnbr 9 mein Code funktioniert gut. Unten ist der Code

Select * 
from ##Table1 
where cusnbr not in 
    (
    Select DISTCINT t1.cusnbr 
    from ##Table1 t1 
    join ##Table1 t2 on t1.Acctnbr=t2.Acctnbr 
    where (t1.Ind='I' or t1.Ind='U') and t2.Ind='O' 
    ) 

die Ausgabe unter mir geben

CusNbr Ind Acctnbr 
    1  O  10 

    4  O  20 

    6  O  30 

    8  I  40 
    9  I  40 

Aber ich möchte eine Ausgabe wie unten

CusNbr Ind Acctnbr 
    1  O  10 

    4  O  20 

    6  O  30 

    8  I  40 
    9  I  40 
10  O  50 
10  I  60 

Jede Hilfe wird Vielen Dank im Voraus geschätzt werden !!

+1

Sie erhalten nicht mehr als 10 CusNbr weil Ihre where-Klausel es es mit einem Datensatz mit einem IND = ‚O‘ aufgrund eliminiert. –

+0

Können Sie in Worten beschreiben, was Sie mit den I's, O's und U's erreichen möchten? – Schmocken

+0

@ JM_ @ schmocken ja ich weiß aber wie bekomme ich diesen 10 Kunden auch dass meine Anfrage .. danke :) – Amitesh

Antwort

1

Wie wäre es damit:

SELECT distinct t1.* 

FROM 
#Table1 t1 
LEFT JOIN #Table1 t2 
    on t1.Acctnbr = t2.Acctnbr 
    and t1.Ind <> t2.Ind 

WHERE 
((t1.Ind <> 'I' and T2.Ind <> 'O') 
and t1.Ind <> 'U') 
or t2.Ind is null 
+0

Lass mich wissen wie du weitergehst, wenn keine Freude, dann würde ich dich schätzen Script zu bauen Table1 – Schmocken

+0

habe ich jetzt versuchte dies gegen Ihre Tabelle1 und erreichen Sie die gewünschte Ausgabe – Schmocken

+0

können Sie mir sagen, wenn ich Kunde 10 ind 'u' acc 20 und cus 10 ind 'I' und acc 21 dann wie wählen Sie auch bitte erklären, was wir hier nach wo tun Bedingung – Amitesh

Verwandte Themen