MySQL Forums
Forum List  »  German

Re: Anfängerfrage mehrere Bedingungen
Posted by: Thomas Wiedmann
Date: January 24, 2012 12:48AM

Tim P Wrote:
-------------------------------------------------------
> Noch ein Beispiel:
> Ein select betrag,schalter1,schalter2,schalter3
> from tabelle liefert zum Beispiel: betrag
> schalter1 schalter2 schalter3
> 10.50 an an aus
> wenn schalter 1 an, dann zum betrag 5.00 addieren,
> wenn schalter2 an dann 4.60 zum betrag addiern,
> wenn schalter3 an 16.00 zum betrag addieren
> In diesem Fall sollte das der Wert von Betrag
> hinterher 20.60 ergeben.
> Nun verständlich?

Nicht wirklich, wie Du auf 20.60 kommst, kann ich nicht nachvollziehen. Mit meiner Lösung mache ich keine UPDATE's, sondern zähle nur die Einzelwerte der Messungen (Schalter) zusammen. Das es bei mir pro Datensatz nur einen Schalter gibt ist kein Fehler, sondern Absicht (siehe Normalisierung).

Mein Vorschlag von Gestern nochmal etwas erweitert:

Es gibt also mehrere Schalter die in einer Messung (z.B. Messung_id = 1) abgefragt werden. Ist ein Schalter an, existiert ein Wert und die Daten werden gespeichert. Ist ein Schalter aus, existieren kein Wert und nichts wird gespeichert. Im folgenden Beispiel werden in der Messung 1 drei Werte gemessen.

CREATE TABLE messwert_pro_messung_und_schalter (
 id INT NOT NULL,
 messung_id INT NOT NULL,
 schalter_id INT NOT NULL,
 betrag DEC(6,2),
 PRIMARY KEY (id)
);

INSERT INTO messwert_pro_messung_und_schalter
(id, messung_id, schalter_id, betrag) VALUES
( 1, 1, 1, 5.0),
( 2, 1, 2, 4.60),
( 3, 1, 3, 16.0);


Die Summen aller Schalter pro Messung ergeben sich so:

SELECT SUM(betrag) 
  FROM messwert_pro_messung_und_schalter
 WHERE  messung_id = 1;
+-------------+
| SUM(betrag) |
+-------------+
|       25.60 |
+-------------+
1 row in set (0.02 sec)

Grüße
Thomas

Options: ReplyQuote


Subject
Views
Written By
Posted
2492
January 23, 2012 07:39AM
1116
January 23, 2012 08:45AM
1286
January 23, 2012 01:42PM
Re: Anfängerfrage mehrere Bedingungen
1145
January 24, 2012 12:48AM
1312
January 24, 2012 05:54AM
1051
January 25, 2012 01:32AM
1163
January 25, 2012 06:40AM
1158
January 26, 2012 10:06AM
1168
January 29, 2012 06:35AM
1233
January 23, 2012 08:30AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.