AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Doppelte Einträge bleiben bei mehr Spalten vorhanden
Thema durchsuchen
Ansicht
Themen-Optionen

Doppelte Einträge bleiben bei mehr Spalten vorhanden

Ein Thema von t0mmy · begonnen am 10. Jan 2012 · letzter Beitrag vom 10. Jan 2012
Antwort Antwort
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:11
Die '...........Spalte2'-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.739 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:19
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
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#3

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:23
SQL-Code:
SELECT
  Spalte1, Spalte2, Spalte3
FROM
  Tabelle
WHERE
  Bedingung
GROUP BY
  Spalte1, Spalte2, Spalte3
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:29
@DeddyH

Diese Variante funktioniert jedoch erhalte ich ja doppelte Einträge und ich möchte so wie Distinct die doppelten Filtern
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#5

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:31
Vielleicht definierst Du erst einmal, wann ein Datensatz als doppelt gilt. Wenn alle abgefragten Felder gleich sind?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:37
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 -.-
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#7

AW: Doppelte Einträge bleiben bei mehr Spalten vorhanden

  Alt 10. Jan 2012, 16:39
Wie soll das auch funktionieren? Du brauchst (sofern ich das richtig verstanden habe) eine Aggregatfunktion in einem Subselect, mit dem Du im Hauptquery vergleichen kannst.

[edit] Angenommen, die Tabelle hat einen Primärschlüssel namens ID. Dann könne es so funktionieren (ungetestet):
SQL-Code:
SELECT
  Spalte1, Spalte2, Spalte3
FROM
  Tabelle A
WHERE
  ID =
  (
    SELECT
      MAX(ID)
    FROM
      Tabelle
    WHERE
      Spalte1 = A.Spalte1
    AND
      Spalte2 = A.Spalte2
    AND
      Spalte3 = A.Spalte3
  )
[/edit]

[edit2] Soll tatsächlich Spalte1 einmalig vorkommen, dann lass im Subselect die Vergleiche mit Spalte2 und Spalte3 weg. Allerdings erschließt sich mir der Sinn einer solchen Abfrage nicht. [/edit2]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (10. Jan 2012 um 17:03 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz