Mehrere Datensätze updaten

Mehrere Datensätze updaten

am 11.06.2007 10:08:25 von thamos

Hi @ all,

ich hab mal wieder ein Problem und hoffe ihr könnt mir weiterhelfen.

Ich habe eine Tabelle mit lauter Datensätzen und den Spalten
"Date" (Datum TT.MM.YYYY), "Wert" mit einer Zahl und einer "PartID".
Jetzt möchte ich für jedes Jahr die PartID zusammenfassen und mit
einer Spalte für jeden Monat den Wert eintragen.(hoffe ich habe mich
einigermaßen verständlich ausgedrückt ...)

Mein Ansatz ist, dass ich aus der 1. Tabelle erstmal mit der Option
"Distinct" die Daten rüberlade und dann irgendwie die Daten durchlaufe
und dann jeweils in die jeweilige Monatsspalte addiere...
Ich weiß bloss nicht, ob das mit Mysql geht und in wie weit ich die
Hilfe von PHP brauche, da der PHP-Array nicht alle Datensätze
speichern kann.

Gruß
Thomas

Re: Mehrere Datensätze updaten

am 11.06.2007 10:16:29 von Christian Kirsch

Am 11.06.2007 10:08 schrieb Thomas Behrens:
> Hi @ all,
>
> ich hab mal wieder ein Problem und hoffe ihr könnt mir weiterhelfen.
>
> Ich habe eine Tabelle mit lauter Datensätzen und den Spalten
> "Date" (Datum TT.MM.YYYY), "Wert" mit einer Zahl und einer "PartID".

Warum benutzt Du ein reserviertes Wort als Spaltennamen?

> Jetzt möchte ich für jedes Jahr die PartID zusammenfassen und mit
> einer Spalte für jeden Monat den Wert eintragen.(hoffe ich habe mich
> einigermaßen verständlich ausgedrückt ...)

Naja - ein SHOW CREATE TABLE und ein UPDATE ... würden m.E. für mehr
Klarheit sorgen. Was "zusammenfassen" bedeutet, erschließt sich mir
z.B. nicht - willst Du gruppieren (GROUP BY) oder summieren? Und was
ist "der Wert" - die Summe? irgendein Wert? ein bestimmter? das
Minimum/Maximum, der Durchschnitt?

>
> Mein Ansatz ist, dass ich aus der 1. Tabelle erstmal mit der Option
> "Distinct" die Daten rüberlade und dann irgendwie die Daten durchlaufe
> und dann jeweils in die jeweilige Monatsspalte addiere...
> Ich weiß bloss nicht, ob das mit Mysql geht und in wie weit ich die
> Hilfe von PHP brauche, da der PHP-Array nicht alle Datensätze
> speichern kann.

Zu PHP sage ich nichts, weil das hier OT ist.

Was MySQL kann und was nicht, steht m.E. ausführlich in der
Dokumentation, die Du unter dev.mysql.com/doc findest.

Da ich nicht weiß, was Du erreichen willst und Du auch kein Beispiel
lieferst, kann ich dazu nicht mehr sagen. Höchstens noch ein paar
Fragen: Wozu "DISTINCT"? Was meinst Du mit "irgendwie die Daten
durchlaufe(n)"? Wie wäre es, wenn Du mal ein minimales Beispiel und
ein paar Fakten posten würdest: das habe ich, das will ich haben, das
habe ich probiert, das habe ich in der Dokumentation gelesen und nicht
verstanden ... Dann könnte man Dir auch "irgendwie" weiterhelfen.

Re: Mehrere Datensätzeupdaten

am 11.06.2007 10:30:58 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Mehrere Datensätze updaten

am 11.06.2007 10:31:11 von thamos

> Warum benutzt Du ein reserviertes Wort als Spaltennamen?

dann nenn ich es halt Jahr ...

> Naja - ein SHOW CREATE TABLE und ein UPDATE ... würden m.E. für mehr
> Klarheit sorgen. Was "zusammenfassen" bedeutet, erschließt sich mir
> z.B. nicht - willst Du gruppieren (GROUP BY) oder summieren? Und was
> ist "der Wert" - die Summe? irgendein Wert? ein bestimmter? das
> Minimum/Maximum, der Durchschnitt?

Zusammenfassen bedeutet, dass ich Datensätze in der Struktur habe:

PartID | Wert | Datum
zB. 1234 | 5 | 12.01.2003
zB. 1234 | 9 | 03.02.2003
zB. 1234 | 7 | 01.02.2003

=3D> Und in diese Struktur bringen will
PartID | Jahr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 |
zB. 1234 | 2003| 5 | 16 | 0 | ...

ich hoffe du verstehst jetzt mein Konzept ...

> Zu PHP sage ich nichts, weil das hier OT ist.

was ist OT ??

> Da ich nicht weiß, was Du erreichen willst und Du auch kein Beispiel
> lieferst, kann ich dazu nicht mehr sagen. Höchstens noch ein paar
> Fragen: Wozu "DISTINCT"? Was meinst Du mit "irgendwie die Daten
> durchlaufe(n)"? Wie wäre es, wenn Du mal ein minimales Beispiel und
> ein paar Fakten posten würdest: das habe ich, das will ich haben, das
> habe ich probiert, das habe ich in der Dokumentation gelesen und nicht
> verstanden ... Dann könnte man Dir auch "irgendwie" weiterhelfen.

Es geht darum jeden Datensatz einzeln zu behandeln (bei jedem das
jeweilige Jahr rausfinden, und spezifisch auf die Monate SUMMIEREN ^^

Danke!
Thomas

Re: Mehrere Datensätzeupdaten

am 11.06.2007 10:37:07 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Mehrere Datensätze updaten

am 11.06.2007 10:38:09 von Christian Kirsch

Am 11.06.2007 10:31 schrieb Thomas Behrens:
>> Warum benutzt Du ein reserviertes Wort als Spaltennamen?
>
> dann nenn ich es halt Jahr ...

Du kannst es auch brzlprmf nennen, wenn Du dafür einen guten Grund hast.

>
>> Naja - ein SHOW CREATE TABLE und ein UPDATE ... würden m.E. für mehr
>> Klarheit sorgen. Was "zusammenfassen" bedeutet, erschließt sich mir
>> z.B. nicht - willst Du gruppieren (GROUP BY) oder summieren? Und was
>> ist "der Wert" - die Summe? irgendein Wert? ein bestimmter? das
>> Minimum/Maximum, der Durchschnitt?
>
> Zusammenfassen bedeutet, dass ich Datensätze in der Struktur habe:
>
> PartID | Wert | Datum
> z.B. 1234 | 5 | 12.01.2003
> z.B. 1234 | 9 | 03.02.2003
> z.B. 1234 | 7 | 01.02.2003
>
> => Und in diese Struktur bringen will
> PartID | Jahr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
> 12 |
> z.B. 1234 | 2003| 5 | 16 | 0 | ...
>
> ich hoffe du verstehst jetzt mein Konzept ...

Du möchtest also eine Gruppe nach der PartID und dem Jahr bilden und
dann je eine Spalte für die Monate, die jeweils die Werte dieses
Monats summiert.

Ich bezweifle, dass das in einem SQL-Statement zu bewerkstelligen ist.

>
>> Zu PHP sage ich nichts, weil das hier OT ist.
>
> was ist OT ??
>
off-topic. Gehört nicht zu den Themen, mit denen sich diese Newsgroup
beschäftigt.

Re: Mehrere Datensätzeupdaten

am 11.06.2007 10:44:13 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Mehrere Datensätze updaten

am 11.06.2007 10:55:48 von Claus Reibenstein

Thomas Behrens schrieb:

>> Warum benutzt Du ein reserviertes Wort als Spaltennamen?
>
> dann nenn ich es halt Jahr ...

Du kannst es ruhig DATE nennen. Du musst nur wissen, wie Du damit
umzugehen hast.

>> Naja - ein SHOW CREATE TABLE und ein UPDATE ... würden m.E. für mehr
>> Klarheit sorgen. Was "zusammenfassen" bedeutet, erschließt sich mir
>> z.B. nicht - willst Du gruppieren (GROUP BY) oder summieren? Und was
>> ist "der Wert" - die Summe? irgendein Wert? ein bestimmter? das
>> Minimum/Maximum, der Durchschnitt?
>
> Zusammenfassen bedeutet, dass ich Datensätze in der Struktur habe:
>
> PartID | Wert | Datum
> z.B. 1234 | 5 | 12.01.2003
> z.B. 1234 | 9 | 03.02.2003
> z.B. 1234 | 7 | 01.02.2003
>
> => Und in diese Struktur bringen will
> PartID | Jahr | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
> 12 |
> z.B. 1234 | 2003| 5 | 16 | 0 | ...
>
> ich hoffe du verstehst jetzt mein Konzept ...

Bahnhof ...

>> Zu PHP sage ich nichts, weil das hier OT ist.
>
> was ist OT ??

OT = off topic.

> Es geht darum jeden Datensatz einzeln zu behandeln (bei jedem das
> jeweilige Jahr rausfinden, und spezifisch auf die Monate SUMMIEREN ^^

Das Datum kannst Du - korrekter Spaltentyp vorausgesetzt - mit EXTRACT()
in seine Bestandteile zerlegen. Deiner Beschreibung nach hast Du hierfür
vermutlich jedoch den Typ CHAR benutzt. Hier hilft SUBSTR() weiter. Die
Summe eines Spaltenwertes bekommst Du mit SUM().

Gruß. Claus