Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL - Doppelte Daten Ausblenden (https://www.delphipraxis.net/12659-sql-doppelte-daten-ausblenden.html)

Snyderburn 2. Dez 2003 07:44


SQL - Doppelte Daten Ausblenden
 
Hi!

Bei meiner SQL - Abfrage werden einige Datensätze doppelt angezeigt. Gibt es eine Möglichkeit, die doppelt angezeigten Daten auszublenden???
Ich hätte es so ungefähr gedacht:
SQL-Code:
Select * from Anschrift
where ID = 1 and doppelte Daten ausbleden
thx
Snyderburn

darkstone 2. Dez 2003 07:47

Re: SQL - Doppelte Daten Ausblenden
 
Müsste mit "DISTINCT" gehen:

Delphi-Quellcode:
SELECT DISTINCT * FROM Table1 WHERE ID=1

Snyderburn 3. Dez 2003 08:04

Re: SQL - Doppelte Daten Ausblenden
 
Zitat:

Zitat von darkstone
Müsste mit "DISTINCT" gehen:

Delphi-Quellcode:
SELECT DISTINCT * FROM Table1 WHERE ID=1

Das hat leider nicht funktioniert. Liegt es vielleicht dadran, dass ich die Abfrage über mehrere Tabellen starte??

r_kerber 3. Dez 2003 08:10

Re: SQL - Doppelte Daten Ausblenden
 
Hallo Snyderburn,

das funktioniert auch über mehrere Tabellen. Schau Dir das Ergebnis mal genau an. Ansonsten beschreib doch mal genauer, was Du machst.

Snyderburn 3. Dez 2003 08:21

Re: SQL - Doppelte Daten Ausblenden
 
Hi r_kerber
Zitat:

das funktioniert auch über mehrere Tabellen. Schau Dir das Ergebnis mal genau an. Ansonsten beschreib doch mal genauer, was Du machst.
Hier ist mal mein SQL-Statement!

SQL-Code:
Select DISTINCT * from Anschrift, EXTERN_FREIGABE, intern1, intern_freigabe
where anschrift.id_anschrift = EXTERN_FREIGABE.id_anschrift
and EXTERN_FREIGABE.FREIGABE_EXT = 0
and anschrift.id_anschrift = intern1.id_anschrift
and intern1.id_intern = intern_freigabe.id_intern1
and intern_freigabe.freigabe = 0
order by intern1.ranking desc
Ob ich da den Befehl "DISTINCT" rein schreibe (oder nicht), macht überhaupt keinen Unterschied.

Funktion des SQL-Statement:
Es befinden sich in der Tabelle Intern1 mehrere, auch gleiche Lieferanten. Jeder Lieferant soll nur "einmal" ausgegeben werden. Was ich da noch nicht eingebaut habe ist, dass das Feld "Ranking" von den gleichen Lieferanten zusammen gefasst werden soll (es soll der Durchschnitt ermittelt werden).

r_kerber 3. Dez 2003 09:00

Re: SQL - Doppelte Daten Ausblenden
 
Hallo Snyderburn,

wenn Du zu einem Lieferanten in in anderen Tabellen mehrere Spalten mit unterschiedlichem Inhalt findest, ist es natürlich klar, dass Du für diese Lieferanten mehrere Datensätze in der Antwortmenge erhältst. Das Distinct bezihet sich auf alle Spalten der Antwortmenge.

Snyderburn 3. Dez 2003 09:11

Re: SQL - Doppelte Daten Ausblenden
 
Hi r_kerber

danke für den hinweis! Dann muß ich mal schauen, wie ich das am besten hinbekomme.

Zitat:

Zitat von r_kerber
Hallo Snyderburn,

wenn Du zu einem Lieferanten in in anderen Tabellen mehrere Spalten mit unterschiedlichem Inhalt findest, ist es natürlich klar, dass Du für diese Lieferanten mehrere Datensätze in der Antwortmenge erhältst. Das Distinct bezihet sich auf alle Spalten der Antwortmenge.



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.

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