Thema: Delphi sql

Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#5

Re: sql

  Alt 1. Dez 2003, 02:20
Hi Klaus,

um das zu beantworten, müsstest Du schon die Tabellendefinitionen rüberrücken und biite nicht abkürzen (ref.Verknüpfen = referentiell verknüpfen?).

Nicht als Meckerei, sondern als Tip gemeint:
1. Man kann auch SQL-Statements so formatieren, das man selbst (und andere) besser den Überblick behalten.
2. Wenn Du schon Aliasse für die Tabellennamen benutzt (ist sinnvoll!), dann steele sie auch den Feldnamen voran - das vermeidet Konfusion.
3. bei 3 Tabellen und mehr, solltest Du Dir angewöhnen, mit joins zu arbeiten - erhöht die Lesbarkeit.
z.B.:
aus
SQL-Code:
SELECT id_Motorart, Motorart, id_Typenschild, sid_Motorart, sid_Fabrikat,
Typ, Drehzahl, Motornummer, Leistung_KW, id_Fabrikat, Fabrikat
FROM tbl_Motorart t1, tbl_Typenschild t2, tbl_Fabrikat t3
WHERE (t1.id_Motorart=t2.sid_Motorart) AND(t2.sid_Fabrikat=t3.id_Fabrikat)
wird dann:
SQL-Code:
    SELECT MA.id_Motorart
           ,MA.Motorart
           ,TS.id_Typenschild
           ,TS.sid_Motorart
           ,TS.sid_Fabrikat
           ,TS.Typ
           ,TS.Drehzahl
           ,TS.Motornummer
           ,TS.Leistung_KW
           ,FB.id_Fabrikat
           ,FB.Fabrikat

      FROM tbl_Motorart AS MA
INNER JOIN tbl_Typenschild AS TS
        ON TS.sid_Motorart = MA.id_Motorart
INNER JOIN tbl_Fabrikat AS FB
        ON FB.id_Fabrikat = MA.sid_Fabrikat

           -- hier kommt dann eine echte Einschränkung, d.h. nicht die Bedingungen
           -- für die Joins sondern z.B.:
     WHERE TS.Leistung_KW > 50
       AND FB.Fabrikat in ('Siemens','Bosch','Allied Signal','Matsushita')
das macht es Dir wesentlich leichter, SQL-Statements zu lesen und der zeitliche Mehraufwand beim Formatieren wird mehr als wettgemacht durch schnelleres lesen (z.B. nach einem halben Jahr )

Also - poste mal Deine TabellenStruktur, und Dir wird gehülft
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat