Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SQL-Abfrage - Ausgabe aller products_ids einer Kategorie inkl. Unterkategorien

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Hallo,

    über die Suche bin ich nicht fündig geworden. Bin mir aber ziemlich sicher das so eine Abfrage bereits existiert. Wenn mir da jemand helfen könnte wäre super.

    Wie im Titel beschrieben suche ich nach einer Möglichkeit alle IDs von Produkten aus einer Kategorie inklusive der Unterkategorien zu finden. Ich möchte gerne eine größere Anzahl von Produkten in der Datenbank ändern. Genau genommen geht es um den Export zu Google-Shopping. Dort werden aktuell alle Artikel exportiert. Nun möchte ich aber ein paar Kategorien ausschließen. Händisch wäre dies immer wieder eine stundenlange Fleißarbeit...

    Vielen Dank

    Linkback: https://www.modified-shop.org/forum/index.php?topic=35116.0

    mhbosch

    • Schreiberling
    • Beiträge: 394
    • Geschlecht:
    Moin,

    das sollte dir helfen:

    Code: SQL  [Auswählen]
    SELECT products_id,products_price AS PRODUCTS_PRICE, products_quantity FROM products WHERE products_id IN (
                                                                            SELECT products_id FROM  products_to_categories WHERE categories_id IN  (
                                                                            SELECT
                                                                    categories_id
                                                                    FROM
                                                                    (
                                                                    SELECT
                                                                    @rownum := @rownum+1 AS rownum,
                                                                    IF(@lastid <> mylist.categories_id, @id := mylist.categories_id, @id) AS pathid,
                                                                    @lastid := mylist.categories_id AS categories_id,
                                                                    @id := (SELECT parent_ID FROM categories WHERE categories_id = @id) AS parent_ID
                                                                    FROM
                                                                    (SELECT @id := 0, @lastid := 0, @rownum := 0) AS vars,
                                                                    (SELECT categories_id FROM categories) AS myloop,
                                                                    (SELECT categories_id FROM categories) AS mylist
                                                                    ) AS t
                                                                    WHERE
                                                                    pathid = 1
                                                                    )
                                                                    )

    Die PathID mußt du natürlich selber ermitteln und die Felder auswählen, die Du ermitteln willst!

    vg,

    mhbosch

    Hansi73

    • Frisch an Board
    • Beiträge: 84
    Hi,

    perfekt! Vielen Dank!
    0 Antworten
    1531 Aufrufe
    13. Juni 2015, 11:16:08 von Sir
    12 Antworten
    5642 Aufrufe
    29. November 2015, 18:26:03 von binxy_de
    2 Antworten
    2351 Aufrufe
    06. Oktober 2013, 20:59:50 von alufax
    8 Antworten
    3852 Aufrufe
    26. Oktober 2010, 13:12:19 von peril
               
    anything