![]() |
Datenbank: MYSQL • Version: 4.1 • Zugriff über: Direkt
SQL Abfage auf einen "Berechneten" Feld
hallo. Ich habe einen BerechnetenFeld "bezeichnung" erstellt. Mit OnCalcField wird dieser Feld gefüttert
Nun möchte ich ein SQL Anfrage auf diesen Feld starten, bekomme aber eine FMeldung. Column Ubekannt. Liegt das damit, dass dieser Feld nur Virtuel gibt und nicht physikalsich? Besteht die Möglichkeit eine Abfrage auf einen Berechneten Feld zu starten? |
Re: SQL Abfage auf einen "Berechneten" Feld
Hi,
na so einfach wohl nicht. Woher soll die query das Feld kennen? SELECT feld[1]... Feld[n] from table. Lass doch die query das berechnen mit sum,avg etc. Das Feld "Bezeichnung" spricht für mich zudem eher für ein lookup-Feld. Wenn dies aus einer anderen Tablle stammt wär ein join angezeigt. Werner |
Re: SQL Abfage auf einen "Berechneten" Feld
Du kannst das berechnete Feld auch in einem TQuery anlegen, das Feld steht dann aber nicht in der Feldliste des selects.
Zitat:
|
Re: SQL Abfage auf einen "Berechneten" Feld
Hallo! Ich bin sehr froh das mir jemand geantwortet hat. Das habe ich mir auch gedacht, das das nicht geht, weil das kein physikalischer Feld ist!
Dieser Berechnetesfeld setzt sich folgendermassen zusammen: Beschreibung = Suche in eine zweitetabelle(FeldA, Inhalt(AktuelleTabelle.DatensatzA)) Bei erfolg gib mir aus der zweite Tabelle Feldinhalt (FeldU). + irgendwas. kurz gesagt ich suche in zwei Tabellen. In diesen Fall würde mir nur eine Select anfrage auf zwei Tabellen weiter helfen? Oder? Ich hoffe das ist nicht zu kompliziert.... :oops: |
Re: SQL Abfage auf einen "Berechneten" Feld
Hi,
nicht besonders schön.
Delphi-Quellcode:
Und nun dieser post.
procedure Tdm.tabelleCalcFields(DataSet: TDataSet);
var Ergebnis : Variant; Ergebnis:=query.Lookup('id','1','name_z1;name_z2;plz;ort'); Tabelle.FieldByName('beschreibung').AsString := Ergebnis[0]+' '+Ergebnis[1]+', '+Ergebnis[2]+' '+Ergebnis[3]; Zu oben: wie sollst du an Ergebnis[i] kommen? Ja du suchst in zwei Tabellen also setze dir den sql string zusammen.
Delphi-Quellcode:
Weiß nicht ob dein MySql die verschachtelten casts mag. Probier es aus.
select a.feld, cast (cast(b.nr as string)+b.name+... as string) from table_x a, table_y b
where ... Oder nimm einen join. Werner |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 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-2025 by Thomas Breitkreuz