Autor Beitrag
stOrM!
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mo 19.06.06 13:21 
So langsam brech ich ins essen, hab kopfschmerzen vom sql :-(
Diesmal hab ich schwierigkeiten mit nem SQL Statement über 4 Tabellen...

Ersma die Tabellen:

Tabelle Kunde:
Kunden_ID (Autowert, indiziert)
Vorname
Nachname

Tabelle Konto
Konto_ID (Autowert, indiziert)
Kunden_ID (Referenz auf Kunde.Kunden_ID)
Spende (JA/Nein)
Betrag(Integer)
Finanzierung(JA/Nein)
Finanz_Betrag(Integer)
Angenommen_Von
Datum_Eingang

Tabelle RatenAuftrag:
RA_ID (interne eindeutige Nummer)
KD_ID (Referenz zum Konten.Kunden_ID)
AUFRAGSBEZEICHNUNG (damit man weiß worum es geht)
Gesamtbetrag
Konditionen
Laufzeit
erledigt ...

Tabelle RatenVerlauf
RV_ID (interne eindeutige Nummer)
RA_ID (Referenz zu Ratenauftrag.RA_ID)
Rate (wieviel)
Zahlungseingang (Datum) ...

Nun wollte ich eigentlich mittels SELECT erreichen, das mir alle Datensätze angezeigt werden, erstmal ohne Unterscheidung ob nun eine Finanzierung vorliegt oder nicht...

Jetzt wirds komisch (Wahrscheinlich durch meine nicht Kenntnis von SQL)
Mir werden alle Datensätze angezeigt bis auf den der keine Finanzierung ist, der ist verschwunden...

Das Problem ist leider ich weiss nicht wie ich um himmelswillen richtig Filtern kann, ich blick nicht mehr durch :-(

Mals Query poschte:

AdQ1.SQL.Add('SELECT * FROM Kunde, Konto, Ratenauftrag, Ratenverlauf WHERE Kunde.kunden_id = Konto.kunden_id AND Ratenauftrag.Kunden_ID = Konto.Konto_ID AND Ratenverlauf.RA_ID = Ratenauftrag.RA_ID');

Dann hab ich noch versucht, nen SUM in die Select mit einzubauen welches mir folgendes ermitteln sollte:

Sum(Ratenauftrag.Gesamtbetrag - RatenverlaufRate) AS "TOTAL" usw...
Dabei bekam ich dann die schöne Meldung das Gesamtbetrag keinen Standartwert hat usw. usw... tritt bei unterschiedlichen Feldern auf also nicht nur bei Gesamtbetrag auch bei Total usw...

Ich blicks net mehr vielleicht brauche ganz dringend Hilfe, vielleicht kann jemand mit mir das ganze mal zerflücken das ich das endlich kapier...

DB = ACCESS!

vielen Dank!
jsfrigo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50

win xp, Win7
D2010
BeitragVerfasst: Di 20.06.06 15:11 
Bei Access muss man meines wissens mit joins arbeiten
Eine Verknüpfung der Tabellen in der Where klausel klappt nicht alse
ausblenden SQL-Anweisung
1:
2:
3:
4:
SELECT *  FROM ((( KUNDEN
LEFT JOIN KONTO ON KONTO.KUNDEN_ID = KUNDE.KUNDEN_ID)
LEFT JOIN RATENAUFTRAG ON RATENAUFTRAG.KUNDEN_ID = KONTO.KONTO_ID)
LEFT JOIN RATENVERLAUF ON RATENVERLAUF.RA_ID = RATENAUFTRAG.RA_ID)

Ob die offnenden Klammern vor oder nach dem From KOmmen weis ich nicht mehr so genau aber du brauchst auf jeden fall pro join eine klammer
Gruss
Jörg

Moderiert von user profile iconjasocul: SQL-Tags hinzugefügt
stOrM! Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Di 20.06.06 15:55 
user profile iconjsfrigo hat folgendes geschrieben:
Bei Access muss man meines wissens mit joins arbeiten
Eine Verknüpfung der Tabellen in der Where klausel klappt nicht alse
ausblenden SQL-Anweisung
1:
2:
3:
4:
SELECT *  FROM ((( KUNDEN
LEFT JOIN KONTO ON KONTO.KUNDEN_ID = KUNDE.KUNDEN_ID)
LEFT JOIN RATENAUFTRAG ON RATENAUFTRAG.KUNDEN_ID = KONTO.KONTO_ID)
LEFT JOIN RATENVERLAUF ON RATENVERLAUF.RA_ID = RATENAUFTRAG.RA_ID)

Ob die offnenden Klammern vor oder nach dem From KOmmen weis ich nicht mehr so genau aber du brauchst auf jeden fall pro join eine klammer
Gruss
Jörg

Moderiert von user profile iconjasocul: SQL-Tags hinzugefügt


Danke ich probiers mal heut abend aus!
Grüsse
s!
stOrM! Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 22



BeitragVerfasst: Mi 21.06.06 13:57 
Titel: re
Hi,jsfrigo
ich musste die SQL Anweisung etwas umformulieren, die klappt nun leider aber nicht wie erwartet...

Jetzt zeigt mir das Grid zwar das meiste an jedoch sind eine Spalten leer obwohl die Tabelle dort Einträge haben...

Beisp. im Feld Raten sind mehrere Raten vorhanden, angezeigt wird jedoch nur eine einzige alle anderen Ratenzahlungen bleiben leer, änhlich verhält es sich mit den EinzahlungsDatum, auch das wird nur für einen Eintrag angezeigt alles andere ist ebenfalls leer...

Ich weiss mir keinen Rat mehr.
Würde es Helfen wenn ich mal den Inhalt alle Tabellenfelder hier poste oder dir eventuell bei Interesse mal die komplette Access DB sende? 380 KB...

Viele Grüsse
s!