AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ZQuery

Ein Thema von clock50 · begonnen am 21. Aug 2006 · letzter Beitrag vom 8. Okt 2006
Antwort Antwort
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#1

ZQuery

  Alt 21. Aug 2006, 23:18
Datenbank: mysql • Version: 5 • Zugriff über: zeos
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.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: ZQuery

  Alt 21. Aug 2006, 23:25
Woher soll die Datenbank wissen was du mit testdb2 meinst. Eine Tabelle/Abfrage oder einen Alias-Namen:
select * from testdb inner join testdb2 on testdb.nr = testdb2.nr
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#3

Re: ZQuery

  Alt 22. Aug 2006, 10:23
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?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: ZQuery

  Alt 22. Aug 2006, 10:32
Zitat von clock50:
in php würde ich schreiben: select * from testdb2 where testdb2.fnr = testdb.nr
Ganz sicher nicht.

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?
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#5

Re: ZQuery

  Alt 22. Aug 2006, 11:12
Die Lösung von Bernhard gibt mir alle daten von 'testdb2' aus.

Zitat:
Übrigens... Eine Tabelle innerhalb einer Datenbank nennt man nicht testdb... auch nicht zu Testzwecken. Verwechselst Du nicht Tabelle mit Datenbank?
DB und Tabele verwechsele ich bestimmt nicht. testdb und testdb2 sind Tabellen in einer Datenbank.

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

SELECT * FROM testdb2 WHERE (testdb2.fnr = : nr) die Komponete weiß, das nr sich auf testdb.nr bezieht weil das in Mastersource und MasterFields angegeben ist.

Das gleiche Ergebnis brauche ich nun auch für ZQuery.

Danke
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: ZQuery

  Alt 22. Aug 2006, 11:21
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: ZQuery

  Alt 22. Aug 2006, 12:25
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Bora4d

Registriert seit: 8. Okt 2006
26 Beiträge
 
Delphi 7 Professional
 
#8

Re: ZQuery

  Alt 8. Okt 2006, 17:32
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz