Anleitung Hilfreiche SQL-Befehle

Thema wurde von Petra, 28. April 2015 erstellt.

  1. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    418
    Danke erhalten:
    35
    Danke vergeben:
    53
  2. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    ff ist das denn für DICH für DEINEN Shop, oder willst du jetzt kostenlos was abgreifen, um das für 70,- EUR an einen Kunden weiterzuverkaufen?
     
  3. ff-webdesigner

    ff-webdesigner Erfahrener Benutzer

    Registriert seit:
    22. Januar 2014
    Beiträge:
    418
    Danke erhalten:
    35
    Danke vergeben:
    53
    es geht drum dass ich öfters derartige kundenanfragen habe und denen gerne ein passendes einfaches rezept liefern würde.
     
  4. M. Zitzmann

    M. Zitzmann Erfahrener Benutzer

    Registriert seit:
    3. März 2016
    Beiträge:
    367
    Danke erhalten:
    118
    Danke vergeben:
    39
    Hier stimme ich Devil zu.
    Es gibt nur eine Tabelle in der die Sonderangebote drinstehen.
    Da ist es relativ einfach etwas passendes zusammenzubauen.
     
  5. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    27. Mai 2016
    Beiträge:
    457
    Danke erhalten:
    98
    Danke vergeben:
    103
    Moin,

    gibt es einen Befehl um nur in Eigenschaften bei den EAN den Wert "Nicht zutreffend" zu löschen?

    Müsste das schnell entfernen....
     
  6. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
    update products_properties_combis set combi_ean = '' where combi_ean = 'Nicht zutreffend';

    ungeprüft ohne Gewähr.
     
  7. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    27. Mai 2016
    Beiträge:
    457
    Danke erhalten:
    98
    Danke vergeben:
    103
    Hi L & B Danke!!

    wenn ich das EAN Feld "Nicht zutreffen" leer haben will ist der Befehl dann so zu nutzen oder muss da noch was hin?
     
  8. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.122
    Danke vergeben:
    947
  9. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    930
    Danke erhalten:
    802
    Danke vergeben:
    300
    Liste mit Artikeln (Produkt-IDs), bei denen das Zusatzfeld "Zusatz" in DE nicht gefüllt ist:
    Code:
    SELECT
        p1.products_id
    FROM
        products p1
    WHERE
        p1.products_id NOT IN (
            SELECT
                p2.item_id
            FROM
                additional_field_values p2, additional_field_descriptions p3, additional_field_value_descriptions p4, additional_fields p5
            WHERE
                p2.additional_field_value_id=p4.additional_field_value_id AND p2.additional_field_id=p3.additional_field_id AND p3.language_id=2 AND p3.name='Zusatz' AND p4.language_id=2 AND p5.additional_field_id=p2.additional_field_id AND p5.item_type='product'
        )
    
     
  10. Martin L.

    Martin L. Erfahrener Benutzer

    Registriert seit:
    24. September 2013
    Beiträge:
    118
    Danke erhalten:
    3
    Danke vergeben:
    65
    Kann mir freundlicherweise jemand den SQL Befehl nennen, um eine bestimmte Kategorie Versandkosten zuzuweisen?


     
  11. Mäx_2

    Mäx_2 Erfahrener Benutzer

    Registriert seit:
    12. März 2015
    Beiträge:
    49
    Danke erhalten:
    3
    Danke vergeben:
    36
    Angebote mit Lagerbestand = 0, deaktivieren

    UPDATE specials AS a
    INNER JOIN products AS b
    ON a.products_id=b.products_id
    SET `status`= 0 WHERE b.products_quantity=0;
     
  12. sirtet

    sirtet Erfahrener Benutzer

    Registriert seit:
    4. Juli 2012
    Beiträge:
    1.114
    Danke erhalten:
    88
    Danke vergeben:
    88
    #532 sirtet, 1. August 2022
    Zuletzt bearbeitet: 1. August 2022
    Titel und Inhalt von Produktbeschreibungs-Tabs in Produktbeschreibungs-Text einfügen

    Ich wollte die Tabs loswerden, ihren Inhalt wieder in die normale Beschreibung integrieren.
    Wenn man in Produktbeschreibungen Tabs anlegt, werden diese in der Datenbank im gleichen Feld gespeichert wie die Beschreibung. Es wird einfach am Ende ca. sowas angehängt: [TAB:MeinTabTitel]Der Inhalt meines Tabs[TAB:WeitererTitel... etc.

    Das Prinzip der Umwandlung: [TAB: ersetzen durch <h3> und ] durch </h3> (oder was auch immer man für den Tab-Titel verwenden will)

    Code:
    /* move gambio product_desc. tabs to product_desc. text*/
    SELECT 
      CONCAT('UPDATE products_description SET products_description = ', QUOTE(REPLACE(REPLACE(products_description, ']', '</h3>'), '[TAB:', '<h3>')),' WHERE products_id = ', products_id, ';') 
      AS run_to_update
    FROM products_description
    WHERE products_description LIKE "%[TAB:%"
    
    Vor dem Update hab ich noch gecheckt, ob nicht die schliessende eckige Klammer auch ausserhalb der TAB-Tags vorkommt:

    Code:
    /* check if there are square brackets other than from TAB tags [TAB:someTABtitle] */
    SELECT
    -- count ocurrences of ] bracket by adding 1 char for each occurrence and then subtract the length of the original
    SUM(   length(REPLACE(products_description, ']', 'xx'))   -   length(products_description)   )
    -- now subtract count of ] from occurrences of [TAB:
    -
    -- again, counting is done by length comparison, now after removing 1 char for each ocurrence of [TAB:
    SUM(   length(products_description)   -   length(REPLACE(products_description, '[TAB:', 'xxxx'))   )
    
    AS nonTABsqarebrackets
    FROM products_description;
     
  13. Dominik Späte

    Dominik Späte Erfahrener Benutzer

    Registriert seit:
    16. Oktober 2018
    Beiträge:
    930
    Danke erhalten:
    802
    Danke vergeben:
    300
    Lange Produkt-URLs finden, z.B. wg. Fehlermeldung "File name too long" in den Apache-Logs:

    Code:
    SELECT * FROM `products_description` WHERE LENGTH(`gm_url_keywords`)>250;
    An die URL-Keywords wird noch ".html" (5 Zeichen) angehängt. Der SQL-Befehl findet also Produkte, deren (virtueller) Dateiname länger als 255 Zeichen ist.
     
  14. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    27. Januar 2013
    Beiträge:
    45
    Danke erhalten:
    1
    Danke vergeben:
    10
    Hallo,
    zu diesem SQL-Befehl habe ich ein paar Fragen:
    1.Wie lautet der Befehl, wenn ich nur die Preise bestimmter Hersteller bzw. bestimmter Kategorien ändern möchte?
    2. Werden bei einer änderung ALLE Kundengruppen (bei uns haben die Kundengruppen unterschiedliche Preise) erfasst oder nur die Standardpreise?
    3. Wenn die Preissteigerung z.B. 15,73% beträgt, wie wäre dann die richtige Schreibweise beim SQL-Befehl? Etwa so:
    update products set products_price=products_price*1.1573;
    Vielen Dank für eure Hilfe schon mal im vorraus.
    Mit besten Grüßen
    Martin
     
  15. atze

    atze Neues Mitglied

    Registriert seit:
    9. Dezember 2021
    Beiträge:
    3
    Danke erhalten:
    0
    Servus zusammen,

    hätte jemand eine Idee wie ich die Preise (Händlerpreis neuer Kunde Händler und Gast ) auch per SQL ändern kann. Oder gibt es die möglichkeit das nur für alle der normale Artikelpreis verwendet wird.

    Gruß
     
  16. Christian Mueller

    Christian Mueller Beta-Held

    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.675
    Danke erhalten:
    878
    Danke vergeben:
    288
    Wenn Du die Kundengruppenpreise leer hast, dann wird der Standardpreis verwendet.
     
  17. Hansruedi Wettstein

    Hansruedi Wettstein Erfahrener Benutzer

    Registriert seit:
    20. Juni 2011
    Beiträge:
    173
    Danke erhalten:
    7
    Danke vergeben:
    30
    Kann man den Befehl auch wieder rückgängig machen?
     
  18. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    1. September 2012
    Beiträge:
    2.422
    Danke erhalten:
    417
    Danke vergeben:
    157
    Nö. Wie denn auch. Der Befehl sucht Werte und ersetzt sie. Jetzt gibt es nur noch diese Werte.

    Wenn du eine Datensicherung der DB hast, kannst du die wieder einspielen.
     
  19. Anonymous

    Anonymous Erfahrener Benutzer

    Registriert seit:
    5. Mai 2022
    Beiträge:
    1.463
    Danke erhalten:
    551
    Danke vergeben:
    211
    Verändere den Lagerbestand beim nächsten mal lieber im Quickedit.
    Schau welcher Artikel den höchsten Bestand hat. Diese Anzahl ziehst du bei allen Artikeln ab:
    Alle Artikel markieren
    Modus auf editieren stellen
    Bei "Lager" -10 (zum Beispiel)
    Speichern

    Und wenn du das dann wieder rückgängig machen möchtest, trägst du hier +10 ein.
     
  20. Hansruedi Wettstein

    Hansruedi Wettstein Erfahrener Benutzer

    Registriert seit:
    20. Juni 2011
    Beiträge:
    173
    Danke erhalten:
    7
    Danke vergeben:
    30
    Danke, zum Glück habe ich jedoch den Befehl noch gar nicht ausgeführt :)