Na, dann haste diese Jahr noch nix verkauft ;-) In der letzten Zeile trägt man das Jahr ein. Ich hab da jetzt noch keine Sortierung und keine Jahres-übergreifende Statistik raus gemacht weil ich das nicht brauchte... Getestet mit GX2.2 .0.0 Hat es in orders und orders_total großere Änderungen gegeben seitdem?
Ach vergiss mein Geschwätz! "Kaum macht man es richtig, schon funktoniert es!" Sehr schöne Auswertung, vielleicht ahnst Du den Hintergrund meiner Freude!? Weiter so!
Ja nee.. schon klar ;-) Dann kannst du auch gleich noch orders.payment_class in der abfrage durch orders.shipping_class ersetzen und Du hast eine Statistik über die Versandarten...
Der Haken an den Ergebnissen ist, dass (wie in den GM-Statistiken) keine Bestell-Statūs berücksichtigt werden - was ja der ursprüngliche Gedanke für ein sehr schönes Zusatzmodul war! <Werbung ON> Beispiel: Von den 43 Nachnahme (cod) Bestellungen sind nur 39 "versendet" - und eigentlich bringen nur diese Euros in die Kasse & sind interessant. Aber dennoch: Aus den SQL´s kann man was machen!
Den orders_status habe ich absichtlich weggelassen, weil der ja nicht fest definiert ist. Ausserdem gilt hier wieder der Spruch meines Physik-Profs: "In nichts zeigt sich mathematisches Unverständnis mehr als in zu genauem Rechnen." Übrigens bringt mich das mal wieder auf eine Idee: Statistik über unbezahlte Bestellungen: Anzahl, Umsatzsumme und Anteil am Gesamtumsatz
Alle Produkte in inaktiven Kategorien ebenfalls auf inaktiv setzen: Code: UPDATE products SET products_status = 0 WHERE products_id IN ( SELECT products_id FROM products_to_categories WHERE categories_id IN ( SELECT categories_id FROM ( SELECT @rownum := @rownum+1 AS rownum, IF(@lastid <> mylist.categories_id, @id := mylist.categories_id, @id) AS pathid, @lastid := mylist.categories_id AS categories_id, @id := (SELECT parent_ID FROM categories WHERE categories_id = @id) AS parent_ID FROM (SELECT @id := 0, @lastid := 0, @rownum := 0) AS vars, (SELECT categories_id FROM categories) AS myloop, (SELECT categories_id FROM categories) AS mylist ) AS t WHERE pathid IN (SELECT categories_id FROM `categories` WHERE `categories_status` = 0))) Funktioniert super. Trotzdem empfehle ich vorher ein Datenbank-Backup machen. Sicher ist sicher. Quelle: https://www.modified-shop.org/forum/index.php?topic=18128.0
Das geht aber auch kürzer: Code: UPDATE (products INNER JOIN products_to_categories ON products.products_id = products_to_categories.products_id) INNER JOIN categories ON products_to_categories.categories_id = categories.categories_id SET products.products_status = 0 WHERE categories.categories_status=0;
Ich müsste bei einigen Produkten in der Beschreibung eine externe Bild-Url durch eine interne ersetzen. Hat jemand einen Code-Schnipsel für mich?
AFAIK ist es nur der Bildname, der in der Datenbank gespeichert wird. Die URL ist der FTP-Server und steckt im Code. Gib mal select * from `products` im SQL-Fenster ein, dann siehst Du im Feld products_image alle Fotos zu den einzelnen Produkten. URL steht dort keine dabei. Wenn Du Fotos importierst, werden sie ja auf den FTP-Server importiert und von dort dynamisch in den Webshop verknüpft. Michael
In den product_descriptions stehen Bild-Urls src="http usw.", die ich gerne durch Bilder auf dem Server src="images/.....gif" ersetzen möchte. es gibt knapp 200 Artikel mit je 3 bis 4 solcher Urls. Mit einem SQL-Befehl, der genau diese Bildadressen tauscht, würde ich enorm an Arbeit sparen.
Hallo, wenn du was ersetzen willst, machst du das mittels REPLACE. Code: UPDATE tabelle SET spalte = REPLACE(spalte, 'ich soll raus', 'ich soll rein') Datenbanksicherung vor dem Ausführen nicht vergessen!
Code: UPDATE [products_description] SET [products_description] = REPLACE([products_description], 'https://mda.owp.de/Shop/img/symbole/buegel.gif', 'images/buegel.gif') Wo ist da der Fehler? Bestimmt an [ ] Klammern?!
Okay habs getestet, klappt wunderbar... hatte ne Seite gefunden, wo es mit Klammern war, hatte aber nicht geklappt. Ohne gehts wie erwartet.
kann es sein, dass Befehle hier mit HoneyGrid nicht mehr funktionieren?! Habe per SQL einem Hersteller einen Rabatt gegeben, wird aber nicht angezeigt..... HTML: UPDATE products SET products_discount_allowed = 10 WHERE manufacturers_id=26;
Tabelle: feature_set_to_products erweitern Hat jemand eine Idee oder Lösung? Ich habe ein Artikel-Filter angelegt, mit 6 = Herren und 7 = Damen laut Eintrag in der DB, nun möchte ich nicht tausend Artikel einzeln anklicken und die Filter aktivieren. zweite Wert ist die products_id Code: INSERT INTO `feature_set_to_products` VALUES ('6','8334'),('7','5262'); SELECT products_id FROM products_item_codes WHERE gender = "Damen" SELECT products_id FROM products_item_codes WHERE gender = "Herren" Wie kann man nun sinnvoll die INSERT und SELECT verknüpfen?