Anleitung Hilfreiche SQL-Befehle

Thema wurde von Petra, 28. April 2015 erstellt.

  1. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Keinen Testshop wo du das ausprobieren kannst?
     
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    1. September 2012
    Beiträge:
    2.448
    Danke erhalten:
    422
    Danke vergeben:
    158
    Doch, mehrere, aber alle aktuell wichtig.
     
  3. barbara

    barbara G-WARD 2014-2020

    Registriert seit:
    14. August 2011
    Beiträge:
    35.352
    Danke erhalten:
    11.198
    Danke vergeben:
    1.601
    Datenbank sichern - Testen - und wenn es nicht funktioniert Backup wieder einspielen.

    Das mit dem "Left Join" war mal eine Anleitung in diesem Post - Rabatt für eine Kategorie anlegen (zumindest habe ich mir das notiert)
     
  4. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.698
    Danke erhalten:
    889
    Danke vergeben:
    288
    #484 Christian Mueller, 13. Oktober 2021
    Zuletzt bearbeitet: 13. Oktober 2021
    Mal was für Fortgeschrittene:

    Ich habe eine Tabelle in der der Liefertermin in Kalenderwochen angegeben ist ,im Format 'KW42'.
    Ich möchte nun den Freitag dieser Kalenderwoche als Erscheinungsdatum in products.products_date_available schreiben.

    Im Query habe ich da aktuell stehen
    " products_date_available = ADDDATE('2021-01-04',INTERVAL (substring(Liefertermin,3,3)*7) DAY)"

    Für das aktuelle Jahr klappt das schon ganz gut, aber wie mache ich das über den Jahreswechsel hinaus? KW01 wäre ja die erste Woche 2022 und da kommt dann einfach NULL heraus.
     
  5. Koll

    Koll Erfahrener Benutzer

    Registriert seit:
    8. Dezember 2018
    Beiträge:
    74
    Danke erhalten:
    6
    Danke vergeben:
    44

    Hierzu jemand eine Idee?
    Mir ergeht es gerade auch so..

    Gruß
    Thomas
     
  6. Anonymous

    Anonymous Mitglied

    Registriert seit:
    10. Mai 2019
    Beiträge:
    9
    Danke erhalten:
    5
    Danke vergeben:
    3
    Hallo

    Habe das Thema bereits wo anders im Forum platziert und wurde an diesen Bereich verwiesen. Hier habe ich aber leider nichts passendes für SQL gefunden.
    Weitere PHP oder andere Kenntnisse habe ich leider nicht....


    Habe bereits eine Möglichkeit der Preiserhöhung über das Forum mit QuickEdit gefunden bzw SQL Befehle.
    Diese habe ich auch schon benutzt um die 3% Erhöhung möglichst schnell zu machen.

    Jetzt stehe ich vor dem Problem dass der Preis zwar erhöht wurde aber nicht die restlichen Spalten in den Preisoptionen.
    Gibt es hier eine Möglichkeit diese möglichst schnell und einfach zu ändern bzw. zu löschen?
    Habe bereits bei einem Artikel ausprobiert die restlichen auf "0" zu setzen. Dann wird nur noch der "Artikelpreis" angezeigt.

    Sollte das nur händisch funktionieren müsste ich nun 1000e Artikel einzeln ändern?

    Danke schon mal für eure Hilfe.

    So soll es bei allen Artikeln aussehen:
    Artikelpreis: xxxx,xx
    Gast, Neuer Kunde, Händler: 0

    Also kurz gesagt:
    Benötige einen Befehl für SQL um alle Werte bei Preisoptionen bei allen Artikeln auf 0 zu setzen, außer das Feld Artikelpreis. Dieses soll bei allen Artikeln bleiben wie es momentan ist.

    artikel geändert.jpg artikel stand jetzt.jpg
     
  7. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.698
    Danke erhalten:
    889
    Danke vergeben:
    288
    Die Preise für die anderen Kundendengruppen stehen in jeweils einer anderen Tabelle pro Kundengruppe.
    Um Deine Preise zu löschen, muss man wissen wie die Tabellen heissen.
    Um zu wissen wie die heissen muss man wissen welche Kundengruppen-IDs es gibt.


    Führe mal folgende Abfrage aus und poste das Ergebnis:
    Code:
    SELECT customers_status.customers_status_id
    FROM customers_status
    WHERE customers_status.language_id=2
    ORDER BY customers_status.customers_status_id;
    
     
  8. Anonymous

    Anonymous Mitglied

    Registriert seit:
    10. Mai 2019
    Beiträge:
    9
    Danke erhalten:
    5
    Danke vergeben:
    3
    Abfrage ergab:
    0
    1
    2
    3
     
  9. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.698
    Danke erhalten:
    889
    Danke vergeben:
    288
    Damit löscht man alle Preise und Staffelpreise in den Kundengruppen mit den IDs: 0,1,2 und 3

    Code:
    delete FROM personal_offers_by_customers_status_0;
    delete FROM personal_offers_by_customers_status_1;
    delete FROM personal_offers_by_customers_status_2;
    delete FROM personal_offers_by_customers_status_3;
    
     
  10. Anonymous

    Anonymous Mitglied

    Registriert seit:
    10. Mai 2019
    Beiträge:
    9
    Danke erhalten:
    5
    Danke vergeben:
    3
    besten Dank, also muss ich nun Zeile 2-4 jeweils separat ausführen?
    Zeile 1 sind ja dann die "Artikelpreise" die müssen auf jeden Fall bleiben,
    alle weiteren dann Gast, Neuer Kunde und Händler?
     
  11. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.698
    Danke erhalten:
    889
    Danke vergeben:
    288
    Der normale Artikelpreis steht in einer anderen Tabelle. Du wolltest alle Staffel und Sonderpreise löschen. Das macht dieser Befehl. Du kannst das so gesammelt in MiniSQL im Adminbereich ausführen.

    Mach sicherheitshalber eine Datensicherung.
     
  12. Anonymous

    Anonymous Mitglied

    Registriert seit:
    10. Mai 2019
    Beiträge:
    9
    Danke erhalten:
    5
    Danke vergeben:
    3
    delete FROM personal_offers_by_customers_status_1;
    delete FROM personal_offers_by_customers_status_2;
    delete FROM personal_offers_by_customers_status_3;

    hat völlig ausgereicht um für Gast, neuer Kunde und Händler auf 0 zu setzen.
    was bei der Variante mit 0 am Ende passiert weiß ich nicht.

    hab sicherheitshalber bei der letzten begonnen und jede separat durchgeführt :)

    Vielen Dank, das hat mir viel Zeit und Arbeit erspart :)
     
  13. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    26. Mai 2011
    Beiträge:
    47
    Danke erhalten:
    2
    Danke vergeben:
    9
    Hallöchen, wir würden gerne in einem Rutsch :) also wenn möglich mit einem SQL Befehl alle unsere Artikelnummern in die Felder MPN und JAN kopieren. Ist das möglich? Leider hab ich von SQL gar keinen Schimmer ;-)
     
  14. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Code:
    UPDATE
        products_item_codes, products
    SET
        products_item_codes.code_jan = products.products_model,
        products_item_codes.code_mpn = products.products_model
    WHERE
        products_item_codes.products_id = products.products_id
     
  15. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.698
    Danke erhalten:
    889
    Danke vergeben:
    288
    Code:
    UPDATE 
          products_item_codes 
    INNER JOIN 
         products ON products_item_codes.products_id = products.products_id 
    SET 
          products_item_codes.code_mpn = products.products_model, 
          products_item_codes.code_jan = products.products_model;
    
     
  16. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    26. Mai 2011
    Beiträge:
    47
    Danke erhalten:
    2
    Danke vergeben:
    9
    Ok welches denn nun? ;-)
    Oder tuns beide?
    Lieben Dank schonmal im Voraus :)
     
  17. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    26. Mai 2011
    Beiträge:
    47
    Danke erhalten:
    2
    Danke vergeben:
    9

    Habs probiert, hat funktioniert. Herzlichen lieben Dank :)
     
  18. guenter_baeumler

    guenter_baeumler Erfahrener Benutzer

    Registriert seit:
    22. Juni 2018
    Beiträge:
    376
    Danke erhalten:
    69
    Danke vergeben:
    69
    Hallo in die Runde,

    "SQL Befehle für Meta-Angaben, URLs, etc.

    Bilder Alt-Texte automatisch mit Produktnamen füllen

    PHP:
    UPDATE `products_description` SET `gm_alt_text`=`products_name`"

    ...funktioniert bei mir super, für das 1. Bild.

    Gibt es einen SQL-Befehl, das dies auch für das 2.Bild funktioniert (gleicher Artikel, nur ohne Hintergrund-Dekoration)

    Vielen Dank vorab.
     
  19. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
  20. guenter_baeumler

    guenter_baeumler Erfahrener Benutzer

    Registriert seit:
    22. Juni 2018
    Beiträge:
    376
    Danke erhalten:
    69
    Danke vergeben:
    69
    Danke, die Tabelle habe ich in der Datenbank gefunden.
    Leider aber nichts für mich, was darauf schließen lässt mit welchem Befehl da was funktionieren könnte.
    Hast Du evtl. einen direkten SQL-Befehl für mich?
    Vielen Dank