# SQL Query zur Ausgabe der Eigenschaften

**URL:** https://forum.shopware.com/t/sql-query-zur-ausgabe-der-eigenschaften/42752
**Category:** Administration
**Created:** [12. Januar 2017 um 20:28 UTC](https://forum.shopware.com/t/sql-query-zur-ausgabe-der-eigenschaften/42752 "2017-01-12T20:28:03Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![kevin92](https://avatars.discourse-cdn.com/v4/letter/k/7ba0ec/32.png) [@kevin92](https://forum.shopware.com/u/kevin92)
#### Post date: [12. Januar 2017 um 20:28 UTC](https://forum.shopware.com/t/sql-query-zur-ausgabe-der-eigenschaften/42752/1 "2017-01-12T20:28:03Z")

</div>

Hallo,

ich weiß nicht ob das die richtige Kategorie ist, irgendwie passt es in alle teilweise.

Folgendes, wir suchen eine Möglichkeit, uns alle Artikel deren eine Eigenschaft bzw. ein Filtermerkmal zugeordnet wurde auszugeben, damit wir vergleichen können, ob bei allen auch das richtige Merkmal gesetzt wurde.

Ich dachte also, es wäre mit einem einfachen SQL Query zu lösen… dem ist aber leider nicht so, da dieses über 4 Tabellen geht, komme ich etwas durcheinander - ACHTUNG: Das ist nicht meine Stärke…

Aktuell sieht das ganze so aus:

“SELECT  
(SELECT ordernumber FROM s\_articles\_details WHERE s\_filter\_articles.articleID = s\_articles\_details.articleID LIMIT 1) as Artikelnr,  
(SELECT name FROM s\_articles WHERE s\_filter\_articles.articleID = s\_articles.id LIMIT 1) as Name,  
(SELECT f.name FROM s\_filter\_options f join s\_filter\_values v on f.id = v.optionID LIMIT 1) as Kategorie,  
(SELECT value FROM s\_filter\_values WHERE s\_filter\_articles.valueID = s\_filter\_values.id LIMIT 1) as Eigenschaft  
FROM `s_filter_articles` WHERE 1”

Damit erhalte ich alle Artikel, denen eine Eigenschaft zugewiesen wurde und dessen Wert… nur leider nicht die richtige Kategorie - das ist mit sicherheit sowieso schon eine komplizierte Methode, hat jemand einen einfacheren Weg oder kann mir jemand sagen, wie ich die richtige Kategorie mit ausgeben kann?

Vielen Dank im voraus!

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [13. Januar 2017 um 07:03 UTC](https://forum.shopware.com/t/sql-query-zur-ausgabe-der-eigenschaften/42752/2 "2017-01-13T07:03:00Z")

</div>

Hi,

kannst du dafür nicht einfach den ListProduct-Service nutzen? Oder fehlen da Informationen?

```
/** @var ContextServiceInterface $contextService */
$contextService = $container->get('shopware_storefront.context_service_core');

$context = $contextService->getProductContext();

/** @var ListProductService $productListService */
$productListService = $this->get('shopware_storefront.list_product_service');

/** @var ListProduct $product */
$product = $productListService->get('sw-555', $context);

/** @var ListProduct[] $products */
$products = $productListService->getList(['sw-555', 'sw-111'], $context);

```

Wenn du es zwingend via SQL machen möchtest, solltest du &nbsp;INNER JOINS verwenden statt Subselects. Oder du nutzt die sGetPromotionById-Methode in der sArticles. Die hat auf jeden Fall auch Eigenschaften und Kategorien, ist aber imperformant, wenn du das für viele Produkte nacheinander machst.&nbsp;

Besten Gruß,

Daniel

---

<div class="post-metadata">

### Author: ![kevin92](https://avatars.discourse-cdn.com/v4/letter/k/7ba0ec/32.png) [@kevin92](https://forum.shopware.com/u/kevin92)
#### Post date: [16. Januar 2017 um 13:48 UTC](https://forum.shopware.com/t/sql-query-zur-ausgabe-der-eigenschaften/42752/3 "2017-01-16T13:48:39Z")

</div>

Hallo,

Danke für die Antwort. Ziel ist am Ende eine Excel Tabelle mit allen Artikel, denen eine Filter-Eigenschaft zugewiesen wurde.

Ich dachte am schnellsten würde das via SQL gehen.

Das Problem ist vor allem Zeile 4:

(SELECT f.name FROM s\_filter\_options f join s\_filter\_values v on f.id = v.optionID LIMIT 1) as Kategorie,

Er zieht mir aus allen Ergebnissen immer den zweiten Wert aus der „filter\_options“ als Eigenschaften-Name, was ich mir als „Kategorie“ ausgebe.
