# Query zum Auslesen aller hinterlegten Kategorien

**URL:** <https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257>\
**Category:** Shopware 6 (German)\
**Tags:** programming\
**Created:** [11. Juni 2024 um 11:05 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257 "2024-06-11T11:05:28Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![thomas.kipp](https://avatars.discourse-cdn.com/v4/letter/t/b5e925/32.png) [@thomas.kipp](https://forum.shopware.com/u/thomas.kipp)\
**Post date:** [11. Juni 2024 um 11:05 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/1 "2024-06-11T11:05:28Z")

</div>

Hallo, benötige ein Query, welches alle Kategorien zurück liefert, die miteinander in Verbindung stehen. Bekanntlich kann man in Shopware6 Kategorien hierarchisch aufbauen. Ich will feststellen, ob, basierend auf den Einträgen in der Spalte category\_translation.name für 2 verschiedene Einträge Unterschiede im hierarchischen Kategorie Aufbau erkennbar sind. Anbei ein Beispiel, bezogen auf ein Produkt:

```auto
SET @languageID='2fbb5fe2e29a4d70aa5854ce7ce3e20b';
SELECT category_translation.category_id, category_translation.name,category_translation.language_id
FROM product
JOIN product_category ON product_category.product_id=product.id
JOIN category_translation ON category_translation.category_id =product_category.category_id
WHERE product.product_number = @produktNummer
AND category_translation.language_id=UNHEX(@languageID);

```

liefert:

Gesucht ist jetzt ein Query, welches alle Kategoriespalten ausgibt, die auf den Begriffen ‚Zylinderschrauben‘ und ‚Schrauben‘ basieren, ohne Produktzuweisung! Ziel ist letztlich, eventuelle Abweichungen bzgl. der Spalteneinträge ausfindig zu machen

---

<div class="post-metadata">

**Author:** ![Teddie](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/teddie/32/26013_2.png) [@Teddie](https://forum.shopware.com/u/Teddie)\
**Post date:** [11. Juni 2024 um 11:41 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/2 "2024-06-11T11:41:05Z")

</div>

Bin mir nicht ganz sicher was du meinst bzw. bezwecken willst…

```auto
SELECT
	ct.category_id,
	ct.name
FROM
	category c
	JOIN category_translation ct ON (c.id = ct.category_id
			AND c.version_id = ct.category_version_id
			AND language_id = UNHEX("2fbb5fe2e29a4d70aa5854ce7ce3e20b"))
WHERE
	ct.name LIKE "%schrauben"

```

Das Query zeigt dir alle Kategorien mit Schrauben an…

---

<div class="post-metadata">

**Author:** ![Anotherone](https://avatars.discourse-cdn.com/v4/letter/a/6de8d8/32.png) [@Anotherone](https://forum.shopware.com/u/Anotherone)\
**Post date:** [11. Juni 2024 um 11:41 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/3 "2024-06-11T11:41:05Z")

</div>

Bin mir nicht sicher, ob ich das Problem richtig verstehe. Ein

```auto
SELECT category_id, name FROM category_translation WHERE name LIKE '%Zylinderschrauben%' OR name LIKE '%Schrauben%' AND language_id=UNHEX(@languageID);

```

wäre wohl zu einfach, oder?

---

<div class="post-metadata">

**Author:** ![thomas.kipp](https://avatars.discourse-cdn.com/v4/letter/t/b5e925/32.png) [@thomas.kipp](https://forum.shopware.com/u/thomas.kipp)\
**Post date:** [11. Juni 2024 um 15:24 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/4 "2024-06-11T15:24:59Z")

</div>

Das muss über die Spalten after\_catergory\_id und parent\_id der Tabelle category laufen. Benötige dazu wohl ein INNER JOIN., um dann Abweichungen in den restlichen Spalten zu erkennen.

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [12. Juni 2024 um 06:13 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/5 "2024-06-12T06:13:41Z")

</div>

> [@Anotherone](#):
>
> `WHERE name LIKE '%Zylinderschrauben%' OR name LIKE '%Schrauben%'`

Da reicht auch einfach:

`WHERE name LIKE '%schrauben%'`

---

<div class="post-metadata">

**Author:** ![Anotherone](https://avatars.discourse-cdn.com/v4/letter/a/6de8d8/32.png) [@Anotherone](https://forum.shopware.com/u/Anotherone)\
**Post date:** [12. Juni 2024 um 08:49 UTC](https://forum.shopware.com/t/query-zum-auslesen-aller-hinterlegten-kategorien/104257/6 "2024-06-12T08:49:40Z")

</div>

Schon klar, es ging mir um die Verknüpfung von zwei Worten, ist ja nicht immer so, das das eine im anderen enthalten ist.
