Anleitung Hilfreiche SQL-Befehle

Thema wurde von Petra, 28. April 2015 erstellt.

  1. Dennis (MotivMonster.de)

    Dennis (MotivMonster.de) G-WARD 2013/14/15/16

    Registriert seit:
    22. September 2011
    Beiträge:
    30.948
    Danke erhalten:
    6.089
    Danke vergeben:
    1.078
    Beruf:
    Mann für alles :)
    Ort:
    Weilburg
    Mussst die
    Tabelle: products_to_categories
    Die categories_id updaten
    anhand der products_id
    also sowas wie

    UPDATE products_to_categories
    SET categories_id = xx
    WHERE products_id = xx

    und das in schleife anhand deiner tabelle mit den IDs
     
  2. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Da wäre man in Quickedit schneller, einfach nach der Lieferzeit filtern und die Kategorien ändern :)

    Ich hatte mal eine Befehl, um in ein producs-extrafeld den Kategorienamen zu schreiben.
    Das müsste doch anders herum auch gehen....
    Der Befehl war:
    Code:
    UPDATE products p LEFT JOIN products_to_categories ptc ON p.products_id=ptc.products_id SET p.products_extrafeld_1 = 'Kategoriename' WHERE ptc.categories_id= XXX;
    
     
  3. Whitecaps Products

    Whitecaps Products Erfahrener Benutzer

    Registriert seit:
    7. März 2015
    Beiträge:
    104
    Danke erhalten:
    0
    Danke vergeben:
    37
    Hallo,

    ich benötige einen SQL-Befehl mit dem ich den Lagerbestand der Eigenschaften sämtlicher Artikel auf einen bestimmten Wert setzen kann.

    Vielen Dank an Euch.

    LG
     
  4. Whitecaps Products

    Whitecaps Products Erfahrener Benutzer

    Registriert seit:
    7. März 2015
    Beiträge:
    104
    Danke erhalten:
    0
    Danke vergeben:
    37
    Zudem benötige ich einen Befehl mit dem ich die Sonderangebote für einen bestimmten Hersteller global ändern kann. Hier müssten der Prozentsatz, der Lagerbestand und die Dauer auf unbefristet gesetzt werden.

    Hoffe Ihr könnt mir helfen.

    LG
     
  5. kai_str

    kai_str Aktives Mitglied

    Registriert seit:
    10. März 2017
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    12
    Guten Abend, verstehe ich es richtig das ich mit diesem Code, allen Artikeln der ausgewählten Kategorie einen Rabatt von 20 % gebe. Wie schaffe ich es denn dann, dass der Rabatt auch im Artikel angezeigt wird? Muss ich den Artikeln dann trotzdem noch "Sonderangebote" zuweisen?
     
  6. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Der Artikel-Rabatt funktioniert nur in Verbindung mit dem Kundengruppen-Rabatt.
     
  7. kai_str

    kai_str Aktives Mitglied

    Registriert seit:
    10. März 2017
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    12
    Guten Morgen,
    hinterlege ich dann jetzt in der Kundengruppe einen Rabatt auf Artikel von 20 %, bekommt diese Kundengruppe den rabattierten Preis angezeigt ? Liege ich da richtig ?
     
  8. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Nur dann, wenn im Artikel auch ein Rabatt eingetragen ist.
    Die Schnittmenge aus Kundengruppenrabatt und Artikelrabatt zusammen ergeben jeweils den Rabatt, den der Kunde bekommt.


    Kundengruppenrabatt 30 % und Artikelrabatt 20% ergeben zusammen 20%.
    Kundengruppenrabatt 20% und Artikelrabatt 50% ergeben 20%.
     
  9. kai_str

    kai_str Aktives Mitglied

    Registriert seit:
    10. März 2017
    Beiträge:
    31
    Danke erhalten:
    0
    Danke vergeben:
    12
    Ok, das habe ich verstanden, Danke.
    Wenn ich dann den Rabatt nicht mehr gewähren möchte, einfach der Kundengruppe den Rabatt wieder entziehen, oder bei allen Artikeln auch den Rabatt entfernen?
     
  10. Anonymous

    Anonymous Beta-Held

    Registriert seit:
    22. März 2015
    Beiträge:
    2.381
    Danke erhalten:
    640
    Danke vergeben:
    414
    Einfach bei der Kundengruppe den Rabatt auf 0 setzen dann wird keiner abgezogen. Den Rabatt im Artikel kannst du drin lassen.
     
  11. Anonymous

    Anonymous Mitglied

    Registriert seit:
    26. September 2018
    Beiträge:
    13
    Danke erhalten:
    1
    Danke vergeben:
    4
    Wie kann man denn das ganze anhand der Summe sortieren?
     
  12. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Ändere die letzte Zeile einfach in

    ORDER BY Umsatz DESC
     
  13. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Ich hab das nochmal erweitert und die Adressen eingebaut, damit man weiss um wen es sich handelt.

    Code:
     
    SELECT orders.customers_id, address_book.entry_company, address_book.entry_firstname, address_book.entry_lastname, address_book.entry_city, Count(orders.orders_id) AS Anzahl, Sum(orders_total.value) AS Umsatz, If(Sum(orders_total.value)>1000,"3","2") AS Neue_Kundengruppe, customers.customers_status AS Aktuelle_Kundengruppe
    FROM ((orders INNER JOIN orders_total ON orders.orders_id = orders_total.orders_id) INNER JOIN customers ON orders.customers_id = customers.customers_id) INNER JOIN address_book ON customers.customers_id = address_book.customers_id
    WHERE (((Year(orders.date_purchased))=2018))
    GROUP BY orders.customers_id, orders_total.class, customers.customers_status
    HAVING (((customers.customers_status)>1) AND ((Count(orders.orders_id))>=3) AND ((orders_total.class)="ot_total"))
    ORDER BY Umsatz DESC
    
    
     
  14. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    gibt es einen SQL-Befehl der mir die Tabellen auflistet in denen eine Lang-ID "0" vorhanden ist?
     
  15. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Nein, Du musst immer eine Tabelle angeben in der gesucht werden soll.
    Du müsstest also erstmal eine Liste aller in der Datenbank vorhandenen Tabellen machen und die dann nach dem Schlüssel durchsuchen.
     
  16. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.403
    Danke erhalten:
    707
    Danke vergeben:
    92
    Ich weiß ja nicht was Du vorhast, aber wie Christian schon schrieb, gibt es so einen Befehl nicht. Du kannst Dir alle Tabellen auflisten lassen, in dem das Feld "Lang-ID" vorkommt. Ich vermute mal mit "Lang-ID" meist Du das Sprachfeld. Wenn das so ist, dann mußt Du aufpassen, das Feld heißt manchmal "language_id" und manchmal "languages_id".

    Mit dem folgenden Code bekommst Du eine Liste aller Tabellen die ein Sprachfeld enthalten. Die Liste enthält den Tabellennamen und den Feldnamen:

    Code:
    SELECT table_name,column_name FROM information_schema.columns
    WHERE table_schema = DATABASE() AND column_name LIKE "language%_id"
    ORDER BY table_name
    
     
  17. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Danke Euch beiden.

    Ich betreue einen Shop, wo in einer Tabelle statt der ID "1" die ID "0" eingetragen wurde.
    Aufgefallen ist das in der Tabelle einer Anpassung. Ich würde jetzt einfach gerne Prüfen, ob das in anderen Tabellen auch der Fall ist.
    Eine Auflistung der Tabellen mit Sprachfeld hilft mir da sehr viel weiter. dann kann ich da gezielt nach der "0" suchen
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    1. September 2012
    Beiträge:
    2.422
    Danke erhalten:
    417
    Danke vergeben:
    157
    Hallo Forum,
    ich nutze den SQL-Befehl
    Code:
     UPDATE `products_description` SET `gm_alt_text`=`products_name` 
    um die Alt-Texte der Bilder mit den Produktnamen zu versehen. Nun würde ich gerne einen Hersteller davor setzen, also etwa

    also statt

    UPDATE `products_description` SET `gm_alt_text`=`products_name`

    möchte ich:
    UPDATE `products_description` SET `gm_alt_text`=`Hersteller: products_name`

    Das Gleiche hätte ich gerne in den Bild-Titel. Geht das auch? Oder macht das Gambio automatisch?

    Ist das irgendwie möglich?

    Danke und schöne Feiertage!
     
  19. Kai Stejuhn

    Kai Stejuhn Beta-Held

    Registriert seit:
    26. September 2014
    Beiträge:
    1.403
    Danke erhalten:
    707
    Danke vergeben:
    92
    Das müsste man mit:

    UPDATE `products_description` SET `gm_alt_text`=CONCAT('Hersteller: ', `products_name`)

    hinbekommen.

    Achtung! Unbedingt vorher eine Datenbanksicherung machen.
     
  20. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    du meinst den Bildnamen?
    Den nur in der Datenbank zu ändern nützt nichts, weil die Bilder im Ordner dann einen anderen namen hätten.