Anleitung Hilfreiche SQL-Befehle

Thema wurde von Petra, 28. April 2015 erstellt.

  1. kerstinaxmann
    kerstinaxmann Erfahrener Benutzer
    Registriert seit:
    19. November 2013
    Beiträge:
    53
    Danke erhalten:
    9
    Danke vergeben:
    25
    Weiter oben wurde gezeigt, wie man alle Artikel mit einem einzelnen SQL-Befehl aktiv oder passiv setzen kann. Wenn man den Status aller Artikel (aus irgendeinem Grund) auf '0' setzt (=nicht am Lager), dann kann man später natürlich nicht mehr sehen, welche vorher schon auf '0' standen (weil sie z.B. momentan nicht lieferbar sind o.dgl.). Wenn man dann alle wieder auf '1' setzt (=am Lager), werden auch die auf "lieferbar" gesetzt, die es möglicherweise gar nicht mehr gibt. Um das zu verhindern, kann man sich zunutze machen, dass der Shop nicht alle Artikel mit Status > 0 als aktiv betrachtet, sondern nur alle mit Status = 1.

    Um alle Artikel passiv zu setzen, kann man deshalb benutzen:

    UPDATE products SET products_status = products_status + 2

    Und um den vorherigen Zusatnd wiederherzustellen:

    UPDATE products SET products_status = products_status - 2
     
  2. Christian Mueller
    Christian Mueller Beta-Held
    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.806
    Danke erhalten:
    951
    Danke vergeben:
    303
    Ich würde mir eine Funktion wünschen, daß man seine favorisierten SQL-Abfragen speichern und über einen Button ausführen kann.
    Quasi eine SQL-Script-Bibliothek.
     
  3. tiger955
    tiger955 Erfahrener Benutzer
    Registriert seit:
    30. März 2015
    Beiträge:
    226
    Danke erhalten:
    9
    Danke vergeben:
    47
    #43 tiger955, 4. November 2015
    Zuletzt bearbeitet: 4. November 2015
    @cironimo:Mit Zurücksetzen, meinst wohl löschen, oder?

    Update products_description set products_short_desciption=null
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    26. Oktober 2011
    Beiträge:
    967
    Danke erhalten:
    149
    Danke vergeben:
    130
  5. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.622
    Danke erhalten:
    11.343
    Danke vergeben:
    1.614
    Hallo Ryan,

    "Markier...."st Du Dein Revier?
     
  6. carstengentsch
    carstengentsch Erfahrener Benutzer
    Registriert seit:
    22. Juni 2015
    Beiträge:
    219
    Danke erhalten:
    10
    Danke vergeben:
    31
    Hallo ist es möglich per SQl zu den Artikeln einer Kategorie in der Beschreibung etwas hinzu zufügen.
    Danke
     
  7. Senior
    Senior Erfahrener Benutzer
    Registriert seit:
    17. April 2013
    Beiträge:
    816
    Danke erhalten:
    178
    Danke vergeben:
    241
    @Ryan: Markieren geht auch über "Themen-Optionen - Thema abonieren"
     
  8. Developer
    Developer Erfahrener Benutzer
    Registriert seit:
    7. November 2012
    Beiträge:
    2.952
    Danke erhalten:
    650
    Danke vergeben:
    117
    Ja, geht! :)
     
  9. Ollie
    Ollie Erfahrener Benutzer
    Registriert seit:
    27. April 2011
    Beiträge:
    231
    Danke erhalten:
    6
    Danke vergeben:
    50

    Bescheidene Antwort Developer.....

    Das sind mir die liebsten in Foren *daumenrunter*
     
  10. carstengentsch
    carstengentsch Erfahrener Benutzer
    Registriert seit:
    22. Juni 2015
    Beiträge:
    219
    Danke erhalten:
    10
    Danke vergeben:
    31
    Danke an Ollie das sehe ich auch so. Den bei solchen Antworten zeigt sich voll der Community Charakter ;)
    Und das sich viele hier nicht mehr trauen zu fragen wird dadurch immer deutlicher ;(

    Schön, die Frage ist wie denn wir müssten einen entscheidenen Satz bei den Artikeln hinzufügen und nachträglich ist das doch recht Zeitaufwenig. Deshalb die Frage wie müsste der SQL Befehl aussehen bei dieser Aufgabe bzw. dem Problem.
     
  11. tiger955
    tiger955 Erfahrener Benutzer
    Registriert seit:
    30. März 2015
    Beiträge:
    226
    Danke erhalten:
    9
    Danke vergeben:
    47
    @carstengentsch:


    Schau Dir mal mit


    SELECT * FROM products_description;


    die Beschreibungen an.


    Dann siehst du das Feld products_description samt Inhalt.
    Jede products_id kommt zweimal vor. Einmal mit language_id 1 (englisch) und mit 2 (deutsch).


    Dann schau mal in


    SELECT * FROM products_to_categories;


    in welcher categories_id deine Artikel stehen.


    In meinem Code unten ist es categories_id=1


    Da es meist (oder immer) HTML-codierten Inhalt ist, ist es mit den ganzen Steuerzeichen und Hochkomma nicht so einfach, daher schreibe ich einfach die Beschreibung eines Artikel in eine Variable @var2 (ein Artikel MUSS daher eine richtige Beschreibung haben, um sie auf andere übertragen zu können!)
    Dann übertrage ich die Beschreibung auf alle Artikel in dieser Kategorie und exkludiere in p genau diesen einen richtigen Artikel, aus dem ich die Beschreibung genommen habe.


    SET @var2 = (select products_description from products_description where products_id=1 and Language_id=2) ;

    update products_description as s,
    (Select products_description.products_Id from products_description
    inner join products_to_categories on products_description.products_Id=products_to_categories.products_Id
    where products_to_categories.categories_id=1 and products_description.products_id<>1 and products_description.Language_id=2) as p

    set s.products_description= @var2

    where s.products_id=p.products_id and s.Language_id=2;




    Das Script würde nun aus products_id=1 and Language_id=2 (deutsch) die Beschreibung in alle anderen Artikel in der category_id=1 einfügen, die nicht products_id=1 sind aber language_id=2 sind.


    HTH
    Michael
     
  12. carstengentsch
    carstengentsch Erfahrener Benutzer
    Registriert seit:
    22. Juni 2015
    Beiträge:
    219
    Danke erhalten:
    10
    Danke vergeben:
    31
    Super damit kann ich schon mal mehr anfangen und mich durchwursteln ;)
     
  13. Ollie
    Ollie Erfahrener Benutzer
    Registriert seit:
    27. April 2011
    Beiträge:
    231
    Danke erhalten:
    6
    Danke vergeben:
    50
    Sehr gut - Danke Dir Tiger
     
  14. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.646
    Danke erhalten:
    479
    Danke vergeben:
    168
    Hallo,
    ich habe einen neue Kundengruppe erstellt. Nun sind alle Artikel nicht in der Gruppe angehakt.
    Gibt es einen SQL-Befehl alle Artikel in der Kundengrupe einloggen, bzw. alle Artikel in alle Gruppen einloggen?

    Danke und Gruß
    Joe
     
  15. MP Solution
    MP Solution Erfahrener Benutzer
    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Ich denke mal Du meinst die Kundengruppen. Da hat mein Kollege Holger von Xycons ein Modul für. Er bietet es kostenlos an. Schaue mal hier.
     
  16. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.646
    Danke erhalten:
    479
    Danke vergeben:
    168
    #56 Anonymous, 13. Dezember 2015
    Zuletzt bearbeitet: 13. Dezember 2015
    Vielleicht bin ich zu blöd dafür, aber es klappt bei mir nicht:
    - Daten hochgeladen
    - Admin Befehl "abgesetzt"
    - Cache alle geleert

    x- nix passiert im Menü. Wo finde ich nun das "Xycons-Menü"?

    Danke und Gruß
    Peru
     
  17. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.646
    Danke erhalten:
    479
    Danke vergeben:
    168
    weiss wer wo in der Datenbank der Flag für die Kundengruppen gesetzt wird?
    Es kann doch nicht sein, das ich mehrere Hundert Artikel und Kategorien händisch umklickhen muss, nur weil ich eine neune Kundengruppe agelegt habe und sogar in der Erstellung gefragt wird welche Kundengruppe als Basis (neuer Kunde) genommen wird?

    Gruß
    Peru
     
  18. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.622
    Danke erhalten:
    11.343
    Danke vergeben:
    1.614
    Hallo Peru,

    wenn Du das Modul von Holger eingebaut hast, müsstest Du unter Kunden einen neues Menü "Kundengruppenrechte" finden.
     
  19. MP Solution
    MP Solution Erfahrener Benutzer
    Registriert seit:
    2. Oktober 2013
    Beiträge:
    2.945
    Danke erhalten:
    456
    Danke vergeben:
    93
    Wurden die beiden SQL Befehle ausgeführt? Sonst werden die nicht angezeigt!
     
  20. Christian Mueller
    Christian Mueller Beta-Held
    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.806
    Danke erhalten:
    951
    Danke vergeben:
    303
    Zahlartenstatistik

    Gibt die Anzahl, den Gesamtumsatz und den mittleren Warenkorbwert pro Zahlungsart pro Jahr aus.

    Code:
    SELECT orders.payment_class, DATE_FORMAT(orders.date_purchased, '%Y') AS Jahr,Count(orders.payment_class) AS Anzahl, FORMAT(Sum(orders_total.value),2) AS "Netto-Umsatz", FORMAT(Avg(orders_total.value),2) AS "pro Warenkorb"
    FROM orders INNER JOIN orders_total ON orders.orders_id = orders_total.orders_id
    GROUP BY Jahr,orders.payment_class, orders_total.class
    HAVING Jahr=2016 AND orders_total.class="ot_subtotal";