![]() |
SELECT INTO mit BDE
Hallo, alle miteinander!
Ich habe folgendes Problem: Ich will die Daten zweier Tabellen in einer Tabelle zusammenfassen. Dies will ich mit einem SQL-Statement hinkriegen. Dabei müssen die Spaltennamen (die in den beiden Ausgangstabellen gleich lauten) auf neue Spaltennamen abgebildet werden. Als Beispiel: Tabelle1.Name wird zu TabelleNeu.Name1, Tabelle2.Name wird zu TabelleNeu.Name2. Mit MicrosoftJetSQL gibt es das SELECT INTO-Statement. Wenn ich das mit der BDE versuche, klappt es nicht. Das INTO stört die BDE. Dieses INTO wäre aber genau das, was ich brauche... Dies ist die Abfrage, wie sie im Augenblick aussieht - und leider mit der BDE nicht funktioniert...
Code:
Vielleicht kann mir damit jemand aushelfen?
SELECT t1.Name As Name1, t1.Vorname AS Vorname1, t2.Name AS Name2, t2.Vorname AS Vorname2
INTO zusammenfassung FROM test t1 INNER JOIN testII t2 ON (t1.Note1 = t2.Note1) :D Vielen Dank schonmal, Matthias |
Hallo mjenke,
das geht mit INSERT:
Delphi-Quellcode:
INSERT INTO tabelle
SELECT ... |
Bingo, Mr. Spock!!!
Mit folgender Query klappt es tatsächlich
Code:
Vielen Dank!
INSERT INTO zusammenfassung (Name1,Vorname1,Name2,Vorname2)
SELECT t1.Name, t1.Vorname, t2.Name, t2.Vorname FROM test t1 INNER JOIN testII t2 ON (t1.Note1 = t2.Note1) :D Matthias |
Hallo mjenke,
freut mich, dass es gleich funktioniert hat. Ich meine man kann sogar die Klammer mit den vier Feldern weglassen. |
Hallo Matthias, hallo MrSpock,
wenn ich nativ auf Informix zugreife funktioniert bei mir auch:
SQL-Code:
Es kann also nicht an der BDE liegen. Welches DBS wird verwendet und wie erfolgt der Zugriff (ODBC, nativ, ADO)?
select spalten
FROM tabelle where Bedingung1 and bedingung2 ... into Temp tmp_vtr_vorg; |
Hallo r_kerber,
das liegt daran, dass der Umfang von lokal SQL eingeschränkt ist. Bei Informix hast du den vollen SQL Umfang zur Verfügung. |
Zitat:
Wie es bei ODBC über BDE aussieht, weiß ich nicht. |
Re: SELECT INTO mit BDE
Hallo zusammen,
das hier klappt prima bei Informix Zitat:
select a.spalte1, b.spalte1 from tabelle1 a, tmp_vtr_vorg b where a.spalte2=b.spalte2 Beim probieren mault das Prg immer, das es tmp_vtr_vorg nicht gibt. Über den SQL-Explorer klappt es aber. *Vermutungein* beim SQL-Explorer bleibt die tmp Tabelle offen. Bei Delphi wird sie wohl mit jeder neuen Query geschlossen. *Vermutungaus* |
Re: SELECT INTO mit BDE
Hallo Seven,
das könnte an der Transaktionskontrolle liegen. Du musst die erste Transaktion mit COMMIT abschließen. Der Zugriff auf tmp_vtr_vorg könnte dann mit einer neuen Transaktion gestartet werden, dabei ist evtl. wichtig, dass die Transaktion alle bereits mit COMMIT abgeschlossenen Transaktionen berücksichtigt und nicht mit einem Snapshot arbeitet. |
Re: SELECT INTO mit BDE
Hallo MrSpock,
erstmal Danke für die antwort. Lider klappt das nicht so wie beschrieben, oder ich mache etwas falsch. Ich greife über die BDE mittels ODBC-Treiber auf eine Informix 7.3 Datenbank zu. Können Sie ein paar weitere Angaben mache, wie ich es umsetzen kann auf eine temporäre Tabelle zuzugreifen. Danke im voraus |
Re: SELECT INTO mit BDE
Kann es sein, dass die Inhallte einer temp. Tabelle nur für die aktuelle Session sichtbar sind?
[Edit]akuter Fall von Wurstfingergetippe :wall:[/Edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:18 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