2017-04-04 2 views
-1

Ich versuche, eine Abfrage zu schreiben, in der ich die Firmeninformationen erhalten sollte; allerdings sollte ich nur 2 Platten bekommen und ich bekomme 6 Platten. Unten ist meine Abfrage.Erhalte Duplikate auch mit Select Distinct

SELECT distinct a.FOLIO      
        ,a.MAIN_ADDRESS1 
        ,a.MAIN_ADDRESS2 
        ,b.COMPANY_NAME 
        ,b.FIRST_NAME 
        ,b.LAST_NAME 
        ,a.OPEN 
        ,a.CLOSE 
        ,c.CC 
        ,c.CNAME     

FROM vw_CODE_CASE AS a 
INNER JOIN vw_CODE_CASE_VIOLATOR_CONTACTS AS b ON b.CMCODECASEID=a.CMCODECASEID 
INNER JOIN vw_CODE_CASE_WORK_FLOW AS c ON c.CMCODECASEID=a.CMCODECASEID 

Ist es möglich, dass wegen der Anzahl der inneren Verbindungen? Vielen Dank für Ihre Hilfe.

+3

Sicher würden eine oder mehrere Spalten Daten anders als die anderen anzeigen. Post-Beispieldaten und erwartete Ausgabe. Was ist Ihr aktueller Output? – GurV

+1

DISTINCT gilt nicht für ein Feld, es gilt für die gesamte Zeile (die Kombination von Alle Felder). Am besten ist es, eine repräsentative Stichprobe von Daten zu isolieren, die zeigt, was Sie in der Datenbank haben, und dann die gewünschten Ergebnisse aus diesen Beispieldaten einzubeziehen. – MatBailie

Antwort

1

Ohne Beispieldaten wäre es schwierig zu erkennen, aufgrund welcher Spalte die verschiedenen Daten nicht von Ihrer Abfrage stammen.

Aber Sie können eine Sache tun, um die Ursache zu identifizieren, Sie können versuchen, eine nach der anderen Spalte zu entfernen und überprüfen Sie die Daten aus Ihrer Abfrage. Zu dem Zeitpunkt, an dem Sie die erwarteten Daten erhalten, ist die letzte entfernte Spalte die Ursache für Ihr Problem.

Hoffe, das hilft.

+0

Dies ist ein Kommentar. Keine Antwort. – MatBailie

+0

Vielen Dank für Ihren Kommentar P Shah. Ich habe das getan und herausgefunden, welche Spalte die Duplikate erzeugt und aus welcher Tabelle. Jetzt weiß ich für zukünftige Referenz einen einfachen Weg, um zu identifizieren, wenn ich auf dieses Problem erneut stoße – sergio089