Post by Joe GalinkeDu brauchst etwas, das den Datensatz eindeutig identifiziert, der PK
ist doch wunderbar dafür geeignet. Warum fragst Du, ob Du ihn
unbedingt brauchst, was hält Dich davon ab?
.... nichts, ich fuege ihn ein.
Fuer beide Tabellen.
Post by Joe GalinkeGanz nebenbei. Ich habe in meinem Posting eine Frage wiederholt,
...sorry, weil ich mich gar nicht mehr raussehe.
In SQL bin ich nicht sattelfest, die Syntax mit IN habe ich das erste
mal gesehen und sie schwirrt mir im Kopf. Ich weiss nicht mehr, was was
ist. Meine Versuche erstelle ich, indem ich Postings/Buecher ausdrucke
und mit rauchendem Kopf versuche, die richtigen Worte an den richtigen
Platz zu stellen.
Wenn Du mich dann nach dem SINN fragst, ... *erroet*
Post by Joe GalinkeEbenso reagierst Du nicht darauf, dass Du scheinbar Thomas Beispiel
falsch umgesetzt hast. Auch hier frage ich, ob es einen bestimmten
Grund dafür gibt.
Klar gibt es den:
Ich bringe es nicht zusammen. Wie man es richtig umsetzt, weiss ich
nicht. Auch Deine Hinweise konnte ich nicht anwenden. Die Syntax fliegt
mir um die Ohren. Details unten.
Post by Joe GalinkeIch muss aber sagen, dass ich mich durch Dein tb-Präfix habe verwirren
lassen. comm ist eine Spalte aus tbkontrakte, nicht tbkurszeilen. Da
war ich schlichtweg blind. Sorry.
Tut mir auch leid!
Ich habe erst in diesem Posting gesehen, wie AEHNLICH die beiden Zeilen
optisch aussehen und deshalb erst jetzt explizit darauf hingewiesen.
Post by Joe GalinkeDemnach brauchst Du den Alias im JOIN.
Der wird mir auch nicht genommen.
Ich setzte alle Fehlerversuche in Kommentar.
Wenn Du es mit Copy in Paste in IBExpert rueberholst, dann wird die
Schrift bunt und Du kannst schnell sehen, wo die Probleme liegen.
Post by Joe GalinkeIch will mich nicht herausreden, aber evtl. wäre es mir eher
aufgefallen, wenn das Statement von Anfang an auf die wirklich
relevanten Sachen reduziert worden wäre.
Wenn mir von Anfang an klar waere, was wirklich relevant ist, dann
wuesste ich vermutlich auch die Loesung, ;-) Ich koennte sie mir
einfach aus Google holen. Dass der join hier so pestig wird, habe ich
z.B. nicht geahnt.
Ich bemuehe mich, die Leute hier nicht mit zu vielen Details zu
belaestigen und auch nicht zu wenig Infos herzugeben. Leider gelingt es
mir nur recht selten, die richtige Dosis zu erwischen.
Also hier einmal mein neuer Ansatz mit Fehlversuchen in Kommentar:
select tbkurszeilen.fk_kontrakt as fkkontrakt,
tbkontrakte.name_ as name_,
tbkontrakte.id_kontrakt as idkontrakt, /*NEU*/
tbkurszeilen.fk_jdatum as datum,
tbkurszeilen.openinterest as openinterest,
tbkurszeilen.id_kurszeilen as idkurszeilen, /*NEU*/
tbkontrakte.comm as comm_
from tbkurszeilen
join
tbkontrakte /* "as kontrakte"
Alias Versuch erzeugt auch hier die Fehlermeldung:
Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
TBKONTRAKTE.ID_KONTRAKT.
At line 9, column 7 */
on tbkurszeilen.fk_kontrakt = tbkontrakte.id_kontrakt
/* BEGINN SUBSELECT // also probiere ich es ohne alias */
where tbkontrakte.id_kontrakt in
(select first 3 idkontrakt from tbkontrakte
/* left join idkurszeilen on (tbkontrakte.id_kontrakt=fkkontrakt)*/
wir nicht genommen:
Undefined name.
Dynamic SQL Error.
SQL error code = -204.
Table unknown.
IDKURSZEILEN.
At line 25, column 30.
Ich probiere also eine andere Formulierung:
*/
/* left join tbkurszeilen.id_kurszeilen on
(tbkontrakte.id_kontrakt=fkkontrakt)
wird auch nicht genommen: Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 34, column 28.*/
where comm_=tbkontrakte.comm) /* order by noch weggelassen */
in diesem letzten where Statement kann ich auf comm gar nicht zugreifen.
Nicht mit comm, nicht mit tbkontrakte.comm, nicht mit tbkontrakte.comm_.
"unbekannt oder 'gehöert nicht zur Tabelle'.
Ich kann mit diesem Subselect-Statement auch ohne die auskommentierten
Zeilen keinerlei sinnvolles Ergebnis bekommen. Sondern ich sehe nur
Syntax-Fehlermeldungen. Sinnvoll wuerde es nur, wenn ich alles nach
"BEGINN SUBSELECT" weglasse und endete mit der Zeile:
"on tbkurszeilen.fk_kontrakt = tbkontrakte.id_kontrakt"
Danke fuer Deine Muehe!
Ich bin fuer jeden neuen Versuch dankbar.
Nicole