Einzelnen Beitrag anzeigen

veetschal

Registriert seit: 25. Jun 2009
11 Beiträge
 
Delphi 7 Personal
 
#1

datensätze ind DBDrid doppelt angezeigt

  Alt 13. Apr 2010, 17:31
Datenbank: Paradox • Version: 7 • Zugriff über: DBE
hey!

ich probiere mich erstmals mit delphi datenbanken und SQL verzeiht mir also bitte wenn manche dinge vielleicht nicht allzu perfektioniert gelöst sind.
Ich habe folgendes problem:

ich lese mittels SQL abfragen aus verschiedenen tabellen verschiedene werte per button klick in ein DBGrid ein.
dies geschieht mittels implizite Join abfragen.

im prinzip funktioniert auch alles so wie es soll es werden genau die daten aufgewählt die ich haben möchte das problem ist nur, dass sie mir gleich 2x angezeigt werden obwohl die datensätze in den tabellen nicht doppelt sind.

hier nochmal der quellcode.

Delphi-Quellcode:
frame61.Queryuebersicht2.Active:=false;
 frame61.Queryuebersicht2.SQL.Clear;
 
variable:=
'SELECT lehrveranstaltung.Titel //*1
FROM tabellen\stRichtung2, tabellen\lehrveranstaltung, tabellen\LVtyp2, tabellen\semester2, tabellen\datum
WHERE (stRichtung2.studienname = "
' + frame61.DBLookupComboBox1.Text + '") AND (stRichtung2.Studienrichtung_ID = lehrveranstaltung.ID_StRichtung) //*2
AND (semester2.Semester_ID = datum.ID_Semester) AND (semester2.Semester = "
' + frame61.DBLookupComboBox3.Text + '")
AND ( LVtyp2.LVType_ID = lehrveranstaltung.ID_Type) AND (LVtyp2.Typ = "
' + frame61.DBLookupComboBox2.Text + '")'; //*3

 frame61.Queryuebersicht2.SQL.Add(variable);
 frame61.Queryuebersicht2.Active:=true;
end;
*1 alle einträge aus der spalte titel aus der tabelle lehrveranstaltung sollen angezeigt werden und zwar zu den unten angeführten bedingungen
*2 erste bedingung ist, dass die ausgewählte spalte einer dblookupcombobox mit dem studienname, der per fremdschlüsselfeld mit lehrveranstaltung verbunden ist übereinstimmt.
*3 die lehrveranstaltung ist wiederum an LVtyp2 geknüpft. über eine zweite DBlookupcombobox wird sichergestellt, dass nur die titel ausgegeben werden, deren LVtyp in der dblookupbomobox2 ausgewählt wurde

anmerkung: der obige quelltext wurde von mir zur leichteren veranschaulichung zerlegt und kommentare an den stellen //* eingefügt


hoffe das hier ist annähernd verständlich erklärt vielleicht hatte ja schonmal wer ein ähnliches problem und kann mir helfen meins zu lösen
there are only 10 kind of people - those who understand binary codes and those who don't
  Mit Zitat antworten Zitat