Announcement

Collapse
No announcement yet.

Update Inner Join ??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Update Inner Join ??

    Salve...

    Wie kann ich in einer Update anweissung einen Inner Join anwenden ?
    Hier mal die Abfrage die ich auf die DB haben.. und mit der Ohen Probs auch daten ausgelesen und angezeigt werden..
    <PRE>
    String sql = "Select * from literatur as t1 " +
    "inner join ansprechpartner as t2 on t1.ansprechpartner_id = t2.ansprechpartner_id " +
    "inner join autoren as t3 on t1.autoren_id = t3.autoren_id " +
    "inner join benotung as t4 on t1.benotungs_id = t4.benotungs_id " +
    "inner join herausgeber as t5 on t1.herausgeber_id = t5.herausgeber_id " +
    "inner join themengebiet as t6 on t1.themengebiet_id = t6.themengebiet_id;";
    </PRE>
    nun möchte ich mit einem Update die geänderten Daten wieder in die DB schreiben.... aber was mach ich hier an dem SQL String falsch.??
    <PRE>
    String updateString = "UPDATE literatur SET " +
    "Stichwoerter = '"+ jTextField_Stichwoerter.getText()+ "', "+
    "Titel = '" + jTextField_Titel.getText() + "', " +
    "Autoren_id = '" + jTextField_Autor.getText() + "' " +
    "WHERE " + Start.rSet.getString("Literatur_id") + " LIKE Literatur_id;";
    </PRE>
    Es werden keine Daten in die Autorentabelle geschreiben !!
    Kann mir mal einer weiterhelfen BITTTTEEE...
    Mit Dank im Voraus..

    Andre

  • #2
    Vielleicht liegt es daran, dass Du bei LIKE das Argument (eine ID als String, wie performant) nicht in '' gesetzt hast und damit die Anweisung schlichtweg nicht ausgefuehrt werden kann.<p>
    Wenn ich SQL-Anweisungen zusammenbaue, gebe ich den String gern auf StdOUT aus und probiere, ob die DB die SQL-Anweisung ueberhaupt nimmt. Denn an Java kann es nicht liegen Ach ja: Bei SQL-Fragen macht es Sinn, zu erwaehnen, WELCHE DB man benutzt. Nicht alle Datenbanken, die SQL verstehen, implementieren den gleichen Befehlssatz, z.B. MySQL ist da sehr rudimentaer.<p>
    Gruss, Marc

    Comment


    • #3
      Hallo.
      Okay ich hatte vergessen zu erwähnen das ich mit MySql arbeite...
      Die Update Funktion macht auch einträge in die Tabelle LITERATUR, nur eben nicht in die verknüpften Tabellen. ;(
      Also ist meine Vermutung das ich nen JOIN in der Update Funktion einsetzen muss.. Oder ???
      Und wenn ja wie ??

      Oder kann mann das nicht mit MySql machen ?

      Wäre für noch nee Positive Antwort Dankbar...

      Andr&#233

      Comment


      • #4
        Schau Dir bitte mal die Syntax des UPDATE-Statement an. Updates auf mehr als eine Tabelle ist nicht so leicht, mit ANSI SQL nicht zu machen

        Comment


        • #5
          Weiss irgend jemand, wie das gleiche Problem mit hsql funktioniert? Ich hab eine Relationale hsql-Datenbank und versuche <BR> ebenfalls eine update-Funktion zu implementieren, bleib aber daran hängen, sobald ich versuche mehr als eine Tabelle zu benutzen! <BR> Keine Ahnung wie das geht, hab leider auch so gut wie noch nie mit SQL gearbeitet

          Comment

          Working...
          X