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.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Hallo Jan,

    bitte entschlüssele einmal Deinen Satz.
    Ich verstehe das gerade so:
    Du möchtest in der Kundengruppe 3 anzeigen lassen, dass die Artikel von Hersteller 1 für die Kundengruppe 10 um 20% günstiger werden.
    Das ergibt aber irgendwie keinen Sinn für mich :)
     
  2. Jan Brodowsky
    Jan Brodowsky Erfahrener Benutzer
    Registriert seit:
    20. Juni 2012
    Beiträge:
    289
    Danke erhalten:
    39
    Danke vergeben:
    155
    also für mich klang das vorhin noch streng logisch und schlüssig ;)
    Bei allen Artikeln eines Herstellers soll ein bestimmter Kundengruppenpreis für eine andere Kundengruppe um 20% reduziert werden.
     
  3. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Ich glaube jetzt komme ich langsam dahinter.... Der Kundengruppenpreis mit der ID 3 ist für die Kundengruppe mit der ID 10, richtig?
     
  4. M. Zitzmann
    M. Zitzmann Erfahrener Benutzer
    Registriert seit:
    3. März 2016
    Beiträge:
    421
    Danke erhalten:
    146
    Danke vergeben:
    42
    Ich habs zuerst auch nicht verstanden...

    ohne Garantie:

    Code:
    UPDATE
        personal_offers_by_customers_status_10, personal_offers_by_customers_status_3
    SET
        personal_offers_by_customers_status_10.personal_offer = personal_offers_by_customers_status_3.personal_offer * 0.8
    WHERE
        personal_offers_by_customers_status_10.price_id = personal_offers_by_customers_status_3.price_id
    Voraussetzung ist natürlich daß die Tabelle personal_offers_by_customers_status_10 bereits vorhanden und gefüllt ist.
    Wenn du eine neue Kundengruppe angelegt hast ist die Tabelle vermutlich noch leer.
    Dann ginge der Befehl anders...
     
  5. Jan Brodowsky
    Jan Brodowsky Erfahrener Benutzer
    Registriert seit:
    20. Juni 2012
    Beiträge:
    289
    Danke erhalten:
    39
    Danke vergeben:
    155
    #465 Jan Brodowsky, 1. Februar 2021
    Zuletzt bearbeitet: 1. Februar 2021
    Ich habe die neue Kundengruppe ID10 aus der Kundengruppe ID3 erstellt (Preise übernommen)
    Und vielen Dank schon mal - ich würde die DB sichern und dann mal testen

    @M. Zitzmann: wie kann ich in den Befehl noch eine Artikelkategorie einbinden? es gibt für die neue Kundengruppe nicht auf alle Artikel den Rabatt
     
  6. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    26. Mai 2011
    Beiträge:
    51
    Danke erhalten:
    2
    Danke vergeben:
    31
    Huhu, hatte das probiert. In jedem Artikel stehen auch die 10% Rabatt drin, aber Sie werden nicht angezeigt bzw. der Artikelpreis bleibt gleich...Was mache ich falsch? :) Herzlichen Dank :)
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    19. Juni 2012
    Beiträge:
    4.831
    Danke erhalten:
    1.125
    Danke vergeben:
    947
    Maximalen Rabatt in der Kundengruppe hochsetzen. Wenn der 0 ist hilft der Befehl nix.
     
  8. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    26. Mai 2011
    Beiträge:
    51
    Danke erhalten:
    2
    Danke vergeben:
    31
    Ah ok. Danke, das schau ich mir heute mal an :)
     
  9. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. Juli 2019
    Beiträge:
    645
    Danke erhalten:
    154
    Danke vergeben:
    40
    Ich hätte da auch eine Frage: Könnte man mit SQL eine Liste der URLs der Kategorien erstellen?

    Ich möchte die Navigation umordnen, und müsste danach 301 Umleitungen von den alten URLs auf die neuen erstellen.
    Von Hand wird das sehr schwierig, ich bräuchte eine Liste mit einer ID, und der URL die dazu gehört.
     
  10. Kai Schoelzke
    Kai Schoelzke Beta-Held
    Registriert seit:
    30. März 2016
    Beiträge:
    4.076
    Danke erhalten:
    646
    Danke vergeben:
    307
    Hol dir die Links doch aus der Sitemap, und denke daran wenn du an den Kats rum schraubst das sich auch die URLs der Artikel ändern, sofern du nicht die Kurz URLS aktiviert hast.
     
  11. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. Juli 2019
    Beiträge:
    645
    Danke erhalten:
    154
    Danke vergeben:
    40
    Die Sitemap hat nur die URL, ohne Kennzeichen welche Kategorie es ist, also keine ID oder so etwas mit der man nachher die neuen URLs zuordnen könnte.

    Ich muss ja nach der Umstellung die alte zur neuen URL zuordnen damit ich da 301 Weiterleitungen erstellen kann.
    Dazu brauche ich ja eine feste ID oder so etwas.
     
  12. M. Zitzmann
    M. Zitzmann Erfahrener Benutzer
    Registriert seit:
    3. März 2016
    Beiträge:
    421
    Danke erhalten:
    146
    Danke vergeben:
    42
    SELECT gm_url_keywords FROM categories_description WHERE language_id = 2

    Die zugehörige ID ist das Feld categories_id
     
  13. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    18. Juli 2019
    Beiträge:
    645
    Danke erhalten:
    154
    Danke vergeben:
    40
    Das liefert leider nur die "URL Keywords", aber nicht die komplette URL, die Struktur fehlt da.

    Ich habe das jetzt von Hand gemacht, mir über die Sitemap und Excel Tabellen erstellt und die dann von Hand zugeordnet. Trotzdem vielen vielen Dank!
     
  14. ff-webdesigner
    ff-webdesigner Erfahrener Benutzer
    Registriert seit:
    22. Januar 2014
    Beiträge:
    548
    Danke erhalten:
    53
    Danke vergeben:
    60
    hi petra, bitte oben updaten, brauchen sicher einige:

    ALLE INAKTIVEN PRODUKTE IN NEUE KATEGORIE VERSCHIEBEN:

    alle inaktiven produkte anzeigen:
    Code:
    SELECT products_id, products_status FROM products p WHERE p.products_status = 0
    inaktive produkte in neue kategorie verschieben:
    Code:
    UPDATE products JOIN products_to_categories USING (products_id)
    SET products_to_categories.categories_id = XXX
    WHERE products.products_status = 0
    XXX ersetzen durch die entsprechende kategorie, herauszufinden durch klick im gambio admin und dann id aus url entnehmen
    /admin/categories.php?cPath=9

    überprüfen:
    Code:
    SELECT p.products_id, p.products_status, c.categories_id, d.products_name FROM products p JOIN products_to_categories c ON p.products_id = c.products_id JOIN products_description d ON p.products_id = d.products_id WHERE p.products_status = 0
     
  15. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.707
    Danke erhalten:
    513
    Danke vergeben:
    173
    Petra war schon laaaaange nicht mehr hier.
     
  16. Hector
    Hector Erfahrener Benutzer
    Registriert seit:
    9. Januar 2013
    Beiträge:
    185
    Danke erhalten:
    35
    Danke vergeben:
    46
    Hi.

    Etwas schwer zu beschreiben, was ich meine:
    Ich würde gerne herausfinden, welche Eigenschaften welchen Artikeln zugeordnet sind.

    Wenn ich z.B. eine Eigenschaft löschen möchte, kommt eine Meldung, "Achtung: Diese Eigenschaft ist noch in xxx Kombinationen enthalten!". Nur welche Artikel sind das wohl??

    Hat da jemand eine query parat?

    Gruß,
    Marcus
     
  17. Christian Mueller
    Christian Mueller Beta-Held
    Registriert seit:
    4. Juli 2011
    Beiträge:
    3.824
    Danke erhalten:
    981
    Danke vergeben:
    312
    Petra betreibt auch keinen Shop mehr.
     
  18. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.707
    Danke erhalten:
    513
    Danke vergeben:
    173
    Weiss wer, wie ich alle Produkte in einer Kategorie, samt Unterkategorie mit einem Hersteller versehen kann?
    Gebaut habe ich schon
    UPDATE `products` SET `manufacturers_id` = '2'
    WHERE categories_id=xx

    Aber es hängt an der Kategorieangabe z.B. Path=49_133_62

    Danke!
     
  19. barbara
    barbara G-WARD 2014-2020
    Registriert seit:
    14. August 2011
    Beiträge:
    35.657
    Danke erhalten:
    11.371
    Danke vergeben:
    1.616
    Die Kategorie-ID steht nicht in der Tabelle products, da muss man eine Querverbindung zur products_to_categories aufbauen.
    Ich bin da kein Spezi, aber das müsste irgendwie so ähnlich sein:
    UPDATE products p LEFT JOIN products_to_categories ptc ON p.products_id=ptc.products_id
    SET p.manufacturers_id = 2 WHERE ptc.categories_id = xx;
     
  20. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    1. September 2012
    Beiträge:
    2.707
    Danke erhalten:
    513
    Danke vergeben:
    173
    Ich habs mir gedacht... :(