Am 21.11.2010 15:17, schrieb Norbert Zawodsky:
Am 21.11.2010 14:59, schrieb Bernhard Junk:
Hallo,
folgende Situation:
Tabelle A Field "Anzahl" Tabelle B Field "Einzelpreis" Tabelle C Field "Summe"
Formel "Anzahl" * "Einzelpreis" = "Summe" wie kann ich mit MySQL realisieren, dass sobald sich "Anzahl" oder "Einzelpreis" ändert die "Summe" aktualisiert? Mit der Hilfe von MySQL habe ich nur rausbekommen, dass man diese Tabellen damit nicht aktualisieren kann. Es sollte doch möglich sein eine Formel oder eine Funktion in die Tabell C zu integrieren auf dass sie automatisch berechnet wird. Gruss Bernd
Hallo Bernhard,
ich arbeite seit Jahren mit mySQL und ich glaube, ich habe schon fast alles gemacht was man mit (my)SQL machen kann. Aber ich verstehe Deine Frage nicht wirklich.
Du willst eine Tabelle deren Inhalt sich automatisch, basierend auf dem Inhalt anderer Tabellen, ändert? Du solltest mal das Design deiner Datenbank überdenken! Welchen Sinn soll das haben?
Wie sind Tabellen A und B verknüpft? Wie sieht diese Relation aus? Ich nehme an (hoffe) über eine Art Artikel-ID, oder? Wenn es so ist kann ich Dir spontan anbieten:
CREATE VIEW AS (SELECT A.Anzahl * B.Einzelpreis AS Summe FROM A JOIN B ON A.ID=B.ID)
Hab das jetzt mal so schnell hingeschrieben. Daher ohne Gewähr auf Fehlerfreihet !
Am besten du erklärst mal genau wie deine DB aussieht und was Du erreichen möchtest.
liebe Grüße, Norbert
Hallo Norbert, erstmal vielen Dank. Ich werde es einmal ausprobieren. Verknüpft sind die Tabellen über die Artikel-ID. Ich möchte aber, dass die Syntax automatisch ausgeführt wird wenn sich Anzahl oder Einzelpreis verändert. So ähnlich wie bei Excel wo man die Formel in das Feld schreibt. Ich habe das einmal ergoogelt ( schlimmes Neudeutsch ). Da bekam ich den Hinweis, dass so etwas unter MySQL nicht möglich ist. Ich möchte ja nicht jedesmal ein MySQL-Script starten. Gruss Bernd -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org