![]() |
Datenbank: mysql • Version: 5 • Zugriff über: zeos
ZQuery
Hallo, wie ist es möglich eine Abfrage wie z.B. [delphi]select * from testdb where testdb.nr = testdb2.nr
zu realisieren, ich bekomme immer die Meldung [quote]SQL Error: Unknown table 'testdb2' in where clause. |
Re: ZQuery
Woher soll die Datenbank wissen was du mit testdb2 meinst. Eine Tabelle/Abfrage oder einen Alias-Namen:
SQL-Code:
select * from testdb inner join testdb2 on testdb.nr = testdb2.nr
|
Re: ZQuery
Hallo, Danke erstmal aber diese Abfrage ergibt nicht das gewünschte Ergebnis. Nun etwas eindeutiger gefragt: Ich habe 2 Tabellen z.B testdb und testdb2 zu jedem Eintrag int testdb gibt es in testdb2 eine oder mehrere Positionen die ich in einem gesonderten dbgrid anzeigen lassen möchte. Also z.B. testdb Felder/Einträge
nr | datum 1 | 22.08.2006 2 | 23.08.2006 testdb2 Felder/Einträge nr | fnr | fahrt | kilometer 1 | 1 | nach Hause | 10 2 | 1 | baden | 5 3 | 2 | nach Hause | 10 so nun brauche ich eine Abfrage die mir folgendes Ergebnis bringt: nr | datum 1 | 22.08.2006 fnr | fahrt | kilometer 1 | nach Hause | 10 1 | baden | 5 in php würde ich schreiben: select * from testdb2 where testdb2.fnr = testdb.nr aber wie schreibe ich das im ZQuery? |
Re: ZQuery
Zitat:
Die Query hat nichts mit der Programmiersprache zu tun, sondern muss nur der Sprache SQL konform sein. Bernhard hat Dir doch die Lösung geschrieben. Was stimmt denn daran nicht? Übrigens... Eine Tabelle innerhalb einer Datenbank nennt man nicht testdb... auch nicht zu Testzwecken. Verwechselst Du nicht Tabelle mit Datenbank? |
Re: ZQuery
Die Lösung von Bernhard gibt mir alle daten von 'testdb2' aus.
Zitat:
Ich bin dabei ein Programm auf mysql DB umzustellen von DBase. Da konnte ich die Tabellen(bei DBase Datenbanken) so verknüpfen, daß ich diese Auswahl angezeigt bekommen habe, dazu mußte man allerdings bei TTable MasterSource und MasterFields noch angeben und bei TQuery dazu noch
SQL-Code:
die Komponete weiß, das nr sich auf testdb.nr bezieht weil das in Mastersource und MasterFields angegeben ist.
SELECT * FROM testdb2 WHERE (testdb2.fnr = : nr)
Das gleiche Ergebnis brauche ich nun auch für ZQuery. Danke |
Re: ZQuery
Auch im TQuery hast du aber keinen direkten Verweis uaf das Feld in der anderen Tabelle sondern ein Parameter, welcher mit dem Wert eines anderen DataSets bestückt wurde. Genauso kannst du es auch in Zeos machen.
|
Re: ZQuery
Hier sieht man mal wieder wie fehlende und ungenaue Anageben des Fragestellers einen wieder in die falsche Richtung führen. Also das nächste mal genauer angeben was man eigentlich will (Hier das eine Datenmenge aufgrund der Navigation in einer anderen Datenmenge über einen Schlüsselwert aktualisiert werden soll.
|
Re: ZQuery
Fall du immer noch brauchst:
SELECT t1.nr, t1.datum, t2.fnr, t2.fahrt, t2.kilometer FROM testtb t1, testdb2 t2 WHERE (t2.fnr=t1.fnr) Liefert dir: nr | datum | fnr | fahrt | kilometer 1 | 22.08.2006 | 1 | nach Hause | 10 1 | 22.08.2006 | 1 | baden | 5 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 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