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.696
    Danke erhalten:
    886
    Danke vergeben:
    288
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.885
    Danke erhalten:
    617
    Danke vergeben:
    113
    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.443
    Danke erhalten:
    421
    Danke vergeben:
    158
    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.443
    Danke erhalten:
    421
    Danke vergeben:
    158
    #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.443
    Danke erhalten:
    421
    Danke vergeben:
    158
    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.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    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.696
    Danke erhalten:
    886
    Danke vergeben:
    288
    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";