![]() |
Re: Dublikate ausblenden
Und alle Nicht-Aggregat-Felder müssen in der group by-Klausel auftauchen.
|
Re: Dublikate ausblenden
Ich brauche nur das Feld Atyp aus der Tabelle Anlagentyp.
aber zum sortieren brauche ich auch die Kunden_ID aus der Tabelle Kunden und aus der Tabelle Anlagen die Felder AnlagenTyp_ID und Kunden_ID. |
Re: Dublikate ausblenden
Könntest du nicht einfach DISTINCT verwenden,
um die doppelten Einträge herauszufiltern? Gruß Pfoto |
Re: Dublikate ausblenden
AFAIK ist DISTINCT unperformanter als eine Gruppierung, ich kann mich aber auch irren.
|
Re: Dublikate ausblenden
es funktioniert zudem nur wenn die Datensätze komplett übereinstimmen.
|
Re: Dublikate ausblenden
nein leider nicht ich bekomme die Fehlermeldung Syntaxfehler(fehlender Operator)
Code:
Delphi-Quellcode:
ich muss ja erst die Tabelle Anlagen nach der Kunden_ID durchsuchen und dann aus dem Ergebnis in der Tabelle Anlagentypen die MaTyp(Bezeichnung) suchen lassen und das Ergebnis soll dann Angezeigt werden aber halt nur einmal in der Combobox
with Anlagensuche.Anlagentyp do
begin close; SQL.Clear; SQL.Text := 'select * from Anlagen where Anlagen.Kunden_ID=:Kunden_ID where EXISTS (select DISTINCT MaTyp, Typ_ID from Anlagentyp where Anlagen.Typ_ID = Anlagentyp.Typ_ID)'; Parameters.ParamByName('Kunden_ID').Value := DBT_Kunden_ID.Caption; open; end; |
Re: Dublikate ausblenden
Du hast 2 mal "where" in der Hauptquery. Außerdem sieht das etwas umständlich aus. Was soll denn nun angezeigt werden? MaTyp?
|
Re: Dublikate ausblenden
zum besseren verstehen
ich habe folgende Tabellen Anlagen Anlagen_ID Kunden_ID Typ_ID Anlagentyp Typ_ID MaTyp (Bezeichnung) Der Kunde wird mit der Combobox Kunden ausgewählt. nun soll anhand der kunden_ID die Anlagen des Kunden herausgefiltert werden. mit diesem Ergebnis soll nun aus der Tabelle Anlagentyp nur die MaTypen in der Combobox Anlagentyp angezeigt werden. Das klappt auch aber wie schon gesagt es werden mir z.B. 10x Trockner angezeigt. Ich möchte aber nur 1x Trockner in der Combobox stehen haben den das Ergebnis wird dann zum Sortieren den Anlagen weiter genutzt. |
Re: Dublikate ausblenden
Wäre da nicht eine DBLookupComboBox der einfachere Weg? Naja, egal, versuch es mal so (nun doch versuchsweise mit distinct):
SQL-Code:
SELECT DISTINCT(T.MaTyp) FROM Anlagentyp T
JOIN Anlagen A ON A.Typ_ID = T.Typ_ID WHERE A.Kunden_ID = :Kunden_ID |
Re: Dublikate ausblenden
Da bekomme ich nur die Fehlermeldung Syntaxfehler in der FROM-Klausel
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 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