Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Doppelte Einträge bleiben bei mehr Spalten vorhanden (https://www.delphipraxis.net/165657-doppelte-eintraege-bleiben-bei-mehr-spalten-vorhanden.html)

t0mmy 10. Jan 2012 15:35

Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO

Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Hallo!

Also ich hab eine SQL Abfrag Mit
Code:
Select Distinct <Spalte1>...
Distinct dient dazu das ich keine Doppelten einträge auslese.

Wenn ich jetzt:

Code:
SELECT DISTINCT <Spalte1>, <Spalte2>, <Spalte3>...
Abfrage, dann schreibt er wieder doppelte Einträge in meine Grid -.-

Bummi 10. Jan 2012 15:48

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Irgendwo wir ein Unterschied sein zwischen den Zeilen ...

t0mmy 10. Jan 2012 16:08

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Nimm mal an das Distinct gilt dann für alle 3 Spalten.. brauch dann Group By aber das will auch nicht funktioniert, da kommt ne Fehlermeldung seitens MsSQL:

DeddyH 10. Jan 2012 16:09

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Und diese Fehlermeldung ist so geheim, dass man sie auf gar keinen Fall nennen darf :?

t0mmy 10. Jan 2012 16:11

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Die '...........Spalte2'-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist.

Jumpy 10. Jan 2012 16:19

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Distinct is ja ein impliziertes Group By, daher ist ein weiteres Group By oft sinnlos/falsch. Brauchst du vllt. Order By?

Ausserdem zeigst du ja nur sehr wenig von dem Statement. Gibts's da denn noch Aggregatfunktionen oder Where-Klauseln. Dann brauchst du im Zusammenhang mit Group By vllt. eher ein Having

DeddyH 10. Jan 2012 16:23

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
SQL-Code:
SELECT
  Spalte1, Spalte2, Spalte3
FROM
  Tabelle
WHERE
  Bedingung
GROUP BY
  Spalte1, Spalte2, Spalte3

t0mmy 10. Jan 2012 16:29

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
@DeddyH

Diese Variante funktioniert jedoch erhalte ich ja doppelte Einträge und ich möchte so wie Distinct die doppelten Filtern

DeddyH 10. Jan 2012 16:31

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Vielleicht definierst Du erst einmal, wann ein Datensatz als doppelt gilt. Wenn alle abgefragten Felder gleich sind?

t0mmy 10. Jan 2012 16:37

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden
 
Also ich habe mehrer einträge in der Spalte1 die gleichen namen haben.
In der Spalte2 unterscheiden sie sich dann aber.

Jetzt werden mir natürlich alle Einträge die in der Spalte1 vorhanden sind ausgegeben.
Mit Distinct konnte ich es so lösen das ich halt nur die erste Spalte ausgebe dafür keine doppelten einträge habe.

Jetzt brauch ich aber die zweite Spalte und die Spalte3.

Ich hab da bissal im internet geschaut und auf GROUP BY gestoßen... jedoch funzt das nicht -.-


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz