nanunana Geschrieben 17. Januar 2008 Teilen Geschrieben 17. Januar 2008 Hallo Zusammen, folgendes habe ich: Tabelle1 und Tabelle2 Tabelle1 hat 2 spalten: sp1,sp2 Sp1 hat die einträge: 1,2,3,4,5,6 Sp2 hat noch keine Einträge, die ist nur ertstellt Tabelle2 hat auch 2 spalten: sp1,sp2 sp1 hat die Einträge: 1,2,3 sp2 hat die Eintäge: a,b,c jetzt möchte ich die sp2 von der Tabelle1 mit der sp2 der Tabelle2 updaten und schreibe mein statment so: update Tabelle1 tl set tl.sp2 = select tb.sp2 from Tabelle2 tb where tl.sp1 = tb.sp1) where exists ( select * from Tabelle2 tb where tl.sp1 = tb.sp1) leider bekomme ich den Fehler:Unterabfrage für eine Zeile liefert mehr als eine Zeile hat das mit der Anzahl der Zeilen der Tabellen was zu zu tun ? wie kann ich mein Befehl eingeben? Danke und Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 20. Januar 2008 Autor Teilen Geschrieben 20. Januar 2008 wirklich schade, das es keiner gibt, der sich zu meinem wirklichen Problem äußert, Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 20. Januar 2008 Teilen Geschrieben 20. Januar 2008 Schön, dass du konsequent die Fehlermeldung misachtest und im forum deine aufgaben erledigt bekommen möchtest. versuch mal deine unterabfragen mal einzeln, dann siehst du gleich wo der hund begraben ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 20. Januar 2008 Teilen Geschrieben 20. Januar 2008 Hallo da es ja auf der Welt auch nur ein Datenbanksystem gibt, ist uns allen natürlich sofort klar, welches du meinst. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 20. Januar 2008 Autor Teilen Geschrieben 20. Januar 2008 ich rede ist von oracle 9i datenbanksystem, Hallo baba007, nachdem ich meine unterabfragen ausgeführt habe bin zu nichts gekommen. ich kann immer noch feststellen wo es dran liegen kann ich denke , ein Forum ist unter anderen auch da um doch anderen bei ihren Problemen zu helfen bzw tipps zu geben. oder werden hier nur fragen beantwortet, die ein schwerigkeitsgrad für den eigenen EGO tragen. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 21. Januar 2008 Teilen Geschrieben 21. Januar 2008 Moin, update Tabelle1 tl set tl.sp2 = select tb.sp2 from Tabelle2 tb where tl.sp1 = tb.sp1) where exists ( select * from Tabelle2 tb where tl.sp1 = tb.sp1) auffällig ist, dass dein Statement 2 where-klauseln hat. Das ist mindestens verdächtig, wenn nicht sogar hirnrissig. Zudem sind nicht alle Klammern paarweise vorhanden. hth Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 21. Januar 2008 Autor Teilen Geschrieben 21. Januar 2008 Hallo Reinhold, an den Klammern liegtes nicht, in meinem Statment sind sie schon richtig, und das paarweise auch. wenn ich mit meinem unterabfrage selectiere , zeigt er mir das Ergebniss, das gerne hätte. sobald ich update klapt es nicht Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 21. Januar 2008 Teilen Geschrieben 21. Januar 2008 Hallo Reinhold, an den Klammern liegtes nicht, in meinem Statment sind sie schon richtig, und das paarweise auch. wenn ich mit meinem unterabfrage selectiere , zeigt er mir das Ergebniss, das gerne hätte. sobald ich update klapt es nicht Gruss Hallo, hast du den die dir gegebenen Antworten wenigstens getestet ? - Es liegt trotzdem an den Klammern ...Ich zähle in deinem Beispiel 3 Klammern...und das ist nie gut - Die 2. Where Clause ist unsinnig, wie Rheinhold geschrieben hat. Und so funktionierts : update TABLE_1 tl set tl.sp2 = (select tb.sp2 from TABLE_2 tb where tl.sp1 = tb.sp1) Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 21. Januar 2008 Autor Teilen Geschrieben 21. Januar 2008 Hallo, hast du den die dir gegebenen Antworten wenigstens getestet ? - Es liegt trotzdem an den Klammern ...Ich zähle in deinem Beispiel 3 Klammern...und das ist nie gut - Die 2. Where Clause ist unsinnig, wie Rheinhold geschrieben hat. Und so funktionierts : update TABLE_1 tl set tl.sp2 = (select tb.sp2 from TABLE_2 tb where tl.sp1 = tb.sp1) Gruss diese Lösung habe schon ausprobiert, und leider erfolglos. die Tabellen Einträge sehen so aus: bitte, die Einträge genau angucken: Tabelle1 hat 2 spalten: sp1,sp2 Sp1 hat die einträge: 1,2,3,4,5,6 Sp2 hat noch keine Einträge, die ist nur ertstellt Tabelle2 hat auch 2 spalten: sp1,sp2 sp1 hat die Einträge: 1,2,3,9,10 sp2 hat die Eintäge: a,b,c jetzt möchte ich die sp2 von der Tabelle1 mit der sp2 der Tabelle2 updaten und schreibe mein statment so: update Tabelle1 tl set tl.sp2 = (select tb.sp2 from Tabelle2 tb where tl.sp1 = tb.sp1) where exists ( select * from Tabelle2 tb where tl.sp1 = tb.sp1) es kommt immer noch ein fehler.. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 22. Januar 2008 Teilen Geschrieben 22. Januar 2008 Das Statement macht genau das was Du möchtest. Nach der Ausführung sind in Tabelle1 die Tupel {1,a}, {2,b}, {3,c} vorhanden. es kommt immer noch ein fehler.. Seufz. Jetzt schreibst schon seit Monaten immer wieder hier im Forum (und auch in anderen) und was musst Du immer mitangeben??? Aber was red' ich. Manche Leute lernen es einfach NIE. Und was bedeutet bei Dir wenn Du sagst das SQL war "erfolglos"?? Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 23. Januar 2008 Autor Teilen Geschrieben 23. Januar 2008 Hallo Dim, ich habe in zwei anderen Foren die Frage gestellt, aus dem Grund, weil ich hier keine Reaktion bekommen habe. mit mein SQL war erfolglos meine ich das ausführen des Statmentes na ja , aus meiner Sicht habe ich mich verbessert, ich bin seit 2,5 Monate dabei und das auch nicht 100%. Ich habe noch schwirigkeit noch mit der unterabfragen. Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 24. Januar 2008 Teilen Geschrieben 24. Januar 2008 Nicht nur mit den, wenn ich das so lese Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 24. Januar 2008 Autor Teilen Geschrieben 24. Januar 2008 Nicht nur mit den, wenn ich das so lese Hallo BABA, was möchtest du mit deinem Satz sagen: Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 25. Januar 2008 Teilen Geschrieben 25. Januar 2008 Das bedeutet, dass Du nicht nur Propleme mit dem Verständnis von SQL hast, sondern auch immer noch nicht gelernt hast wie man richtig frägt. Die Aussage: das SQL ist erfolglos ist keine ausreichende Fehlerbeschreibung mit der irgendjemand etwas anfangen könnte. Ebensowenig wie es ist ein Fehler aufgetreten und es funktioniert nicht Des weiteren sage ich nochmal, dass das SQL welches dir von dbwizard bereits vor 4 Tagen gepostet wurde exakt das macht was Du haben möchtest (bzw. was Du uns beschrieben hast was Du machen möchtest). Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
nanunana Geschrieben 25. Januar 2008 Autor Teilen Geschrieben 25. Januar 2008 Hallo Dim , BABA007, soll ich jetzt aus der ganzen Disskution herausziehen, ich bin hier im Forum nicht erwünscht ? Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 25. Januar 2008 Teilen Geschrieben 25. Januar 2008 diese Lösung habe schon ausprobiert, und leider erfolglos. die Tabellen Einträge sehen so aus: bitte, die Einträge genau angucken: es kommt immer noch ein fehler.. Gruss - Du hast dein Beispiel gegenüber deinem OP angepasst ...Aber WAS genau funktioniert den nun nicht ? Fehlermeldung ? Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 25. Januar 2008 Teilen Geschrieben 25. Januar 2008 soll ich jetzt aus der ganzen Disskution herausziehen, ich bin hier im Forum nicht erwünscht ? Du sollst daraus herauslesen, dass wir mehr spezifische Informationen brauchen und zwar die, nach denen ich schon mehrfach gefragt habe. Wärst du nicht "erwünscht" würd dir einfach niemand antworten. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.