Benötige bitte Hilfe bei MySQL Operation

Benötige bitte Hilfe bei MySQL Operation

am 01.12.2006 17:02:00 von Manuel Evertz

Hallo NG,

ich bin in Punkto MySQL Programmierung leider absoluter Laie und
benötige bitte Eure Hilfe.
Ich öffne die Datenbank joomlalab mit phpmyadmin.
Nun möchte ich in der Tabelle mos_vm_product_price in allen
Datensätzen den Wert im Feld product_price mit 0.97479 multiplizieren.
Welchen SQL Befehl muss ich dazu absetzen ?

Vielen Dank

Manuel
--
http://www.bonner-qualmkoepp.de
E-Mail bitte hier :
http://www.cardenal.de/contact/view.html

Re: Benötige bitte Hilfe bei MySQL Operation

am 01.12.2006 17:08:05 von Gregor Kofler

Manuel Evertz meinte:
> Hallo NG,
>
> ich bin in Punkto MySQL Programmierung leider absoluter Laie und
> benötige bitte Eure Hilfe.
> Ich öffne die Datenbank joomlalab mit phpmyadmin.
> Nun möchte ich in der Tabelle mos_vm_product_price in allen
> Datensätzen den Wert im Feld product_price mit 0.97479 multiplizieren.
> Welchen SQL Befehl muss ich dazu absetzen ?

UPDATE mos_vm_product_price SET product_price=product_price*0.97479;

Gregor


--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum

Re: Benötige bitte Hilfe bei MySQL Operation

am 01.12.2006 17:25:18 von Manuel Evertz

Hallo Gregor,

Vielen Dank, es hat geklappt :-)

Manuel

--
http://www.bonner-qualmkoepp.de
E-Mail bitte hier :
http://www.cardenal.de/contact/view.html

Re: Benötige bitte Hilfe bei MySQL Operation

am 29.12.2006 13:15:53 von Manuel Evertz

Hallo Gregor, Newsgroup

ich hab da noch so eine MySQL Operation, die ich nicht richtig
hinbekomme, vielleicht hast Du ja eine Idee ?
In der Tabelle mos_vm_product gibt es das Feld attribute (Typ Text)
mit folgendem Inhalt (Beispiel):

Menge,1 Stück[=3.017] ,1 Kiste 4 Stück[=12.069]

Nun möchte in allen Datensätzen dieser Tabelle die Werte in den
Klammern nach dem = Zeichen mit 0,97479 multiplizieren.

Wie lautet denn dann die Abfrage ?

Vielen Dank

Manuel



Gregor Kofler schrieb:

>Manuel Evertz meinte:
>> Hallo NG,
>>
>> ich bin in Punkto MySQL Programmierung leider absoluter Laie und
>> benötige bitte Eure Hilfe.
>> Ich öffne die Datenbank joomlalab mit phpmyadmin.
>> Nun möchte ich in der Tabelle mos_vm_product_price in allen
>> Datensätzen den Wert im Feld product_price mit 0.97479 multiplizieren.
>> Welchen SQL Befehl muss ich dazu absetzen ?
>
>UPDATE mos_vm_product_price SET product_price=product_price*0.97479;
>
>Gregor

--
http://www.bonner-qualmkoepp.de
E-Mail bitte hier :
http://www.cardenal.de/contact/view.html

Re: Benötige bitte Hilfe bei MySQL Operation

am 29.12.2006 14:10:59 von Johannes Vogel

Hi Manuel

Manuel Evertz wrote:
> ich hab da noch so eine MySQL Operation, die ich nicht richtig
> hinbekomme, vielleicht hast Du ja eine Idee ?
> In der Tabelle mos_vm_product gibt es das Feld attribute (Typ Text)
> mit folgendem Inhalt (Beispiel):
> Menge,1 Stück[=3.017] ,1 Kiste 4 Stück[=12.069]
> Nun möchte in allen Datensätzen dieser Tabelle die Werte in den
> Klammern nach dem = Zeichen mit 0,97479 multiplizieren.
> Wie lautet denn dann die Abfrage ?

Du solltest deine Daten erst normalisieren. Dann ist dein Statement auch
so einfach, dass du's selbst rausfindest.

Wikipedia: Normalisierung (Datenbank)
http://de.wikipedia.org/wiki/Normalisierung_%28Datenbank%29

HTH, Johannes

Re: Benötige bitte Hilfe bei MySQL Operation

am 29.12.2006 17:58:58 von Manuel Evertz

Hallo Johannes,

Johannes Vogel schrieb:

>Du solltest deine Daten erst normalisieren. Dann ist dein Statement auch
>so einfach, dass du's selbst rausfindest.

Ich weiß, aber die eingesetzte Software ist von dieser
Datenbankstruktur abhängig, ich kann da leider nichts verändern :-(

Gruß Manuel
--
http://www.bonner-qualmkoepp.de
E-Mail bitte hier :
http://www.cardenal.de/contact/view.html

Re: Benötige bitte Hilfe bei MySQL Operation

am 29.12.2006 18:38:32 von Johannes Vogel

Hi Manuel

Manuel Evertz wrote:
> Johannes Vogel schrieb:
>> Du solltest deine Daten erst normalisieren. Dann ist dein Statement auch
>> so einfach, dass du's selbst rausfindest.
> Ich weiß, aber die eingesetzte Software ist von dieser
> Datenbankstruktur abhängig, ich kann da leider nichts verändern :-(

Vielleicht willst du dann am einfachsten eine Programmiersprache deiner
Wahl wählen und etwas RegExpen. Hier ein Beispiel mit PHP:

mysql_connect('localhost','user','passwd');
mysql_select_db('mydb');
$sql = "select id, attribute from mos_vm_product";
$result = mysql_query($sql);
while(list($dbid,$dbattr) = mysql_fetch_array($result)) {
preg_match_all('#\[=([0-9.]+)\]#is', $dbattr, $ref, PREG_SET_ORDER);
for ($i=1; $i $new*= $ref[$i]*0.97479;
$dbattr = preg_replace("#\[{$ref[$i]}\]#", "[{$new}]", $dbattr);
}
$sql = "update mos_vm_product";
$sql.= " set attribute='$dbattr'";
$sql.= " where id=$dbid";
mysql_query($sql); if (mysql_errno()) exit($sql.mysql_error());
}

Das müsstest du aber noch nachprüfen, ob's mit dem übereinstimmt, was du
machen möchtest. Und sichere deine Daten erst! Das obige wurde noch nie
ausgeführt...

Wie bereits gesagt, das ist Blödsinn!
HTH, Johannes

Re: Benötige bitte Hilfe bei MySQL Operation

am 29.12.2006 19:06:34 von Dominik Echterbruch

Manuel Evertz wrote:
>
>>Du solltest deine Daten erst normalisieren. Dann ist dein Statement auch
>>so einfach, dass du's selbst rausfindest.
>
> Ich weiß, aber die eingesetzte Software ist von dieser
> Datenbankstruktur abhängig, ich kann da leider nichts verändern :-(

Tabelle normalisieren und eine View anlegen, die so heißt, wie die
ursprüngliche Tabelle. Nur so als Denkanstoß...

Grüße,
Dominik
--
Norbert Melzer in d.c.d.mysql:
F: Wie verstehe ich diese FAQ am besten?
A: Studieren Sie Datanbank-Design und lesen Sie anschliessend alles nochmal