Announcement

Collapse
No announcement yet.

Multiplikation in Update Anweisung

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

  • Multiplikation in Update Anweisung

    Hallo zusammen ich versuche in einer update Anweisung eine Multiplikation durchzuführen

    Als Beispiel eine vereinfachte Darstellung
    Ich habe 3 Spalten

    Userfeld_1
    Userfeld_2
    Userfeld_3

    Alle Spalten sind als Dezimalfelder angelegt.
    Nun möchte ich im update Befehl die Spalte Userfeld_1 mit dem Ergebnis aus Multiplikation Userfeld_2 * Userfeld_3 füllen

    Ich habe folgendes versucht
    Update artikel set userfeld_1 = userfeld_2 * userfeld_3;
    Leider funktioniert die Multiplikation nicht.
    Was mache ich hierbei falsch.
    Muss der SQL Befehl anders formuliert werden ?

    Bitte um Hilfe

    Vielen Dank

  • #2
    Auch hallo,

    so müsste es funktionieren:
    Code:
    UPDATE tabellenname
    SET Userfeld_1 = (SELECT Userfeld_2 * Userfeld_3)
    Erfolgreich gestestet mit XAMPP und MySQL 5.0.27
    und einer Testdatenbank 'mult' mit multi_1, multi_2 (PK), multi_3 (alle decimal mit Anfangswerten 0,4,5). Endergebnis dann 20,4,5
    MfG
    Cheat-Sheets for Developers / Programming Quotes

    Comment


    • #3
      danke für den tipp

      klappt leider nicht.

      schade.

      Comment


      • #4
        Erfolgreich gestestet mit XAMPP und MySQL 5.0.27
        Echt? Ein Subselect ohne FROM Klausel? Und sowas läuft unter mysql?

        Leider funktioniert die Multiplikation nicht.
        klappt leider nicht.
        Schade, dass man dafür keine Stromstöße per Internet verteilen kann. Und danach sollte der User gezwungen werden 1000 mal "Ich muss ausführliche Fehlermeldungen posten" bevor eine erneute Onlineverbindung überhaupt erwogen wird...

        Dein ursprüngliches SQL sollte eigentlich ok sein, also was genau verbirgt sich denn hinter "die Multiplikation funktioniert nicht" genau?

        Dim
        Zitat Tom Kyte:
        I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

        Comment


        • #5
          Originally posted by dimitri View Post
          Echt? Ein Subselect ohne FROM Klausel? Und sowas läuft unter mysql?
          Hallo Dim,

          da ist kein "" dabei. Bei ORACLE kann man ja schließlich in der FROM-Klausel auch ein Tabelle angeben, die nicht existiert - "FROM DUAL". Bei MySQL kann man diesen (überflüssigen) Teil eben auch weglassen.
          Die "vollständige" Anweisung "SELECT Userfeld_2 * Userfeld_3 FROM DUAL" funktioniert unter MySQL ebenfalls.

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Bei ORACLE kann man ja schließlich in der FROM-Klausel auch ein Tabelle angeben, die nicht existiert - "FROM DUAL"
            Die Tabelle dual existiert sehr wohl. Sie liegt im Schema SYS. Du kannst sie sogar ändern, Daten einfügen etc - sofern Du kein Interesse mehr an deiner Instance hast natürlich

            Allerdings will der OP ja nicht aus irgendeiner Tabelle nochmal selektieren, sondern die Spalten die aktuell im Zugriff sind multiplizieren. Daher ist mir dieser SELECT nicht ganz klar (in Oracle würde dieses Vorgehen übrigends einen Fehler geben da die Tabelle dual die beiden Spalten nicht besitzt).

            Dim
            Zitat Tom Kyte:
            I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

            Comment

            Working...
            X