Hi,
ich benötige eine SQL-Query, die mir alle Artikel ausgibt, die in einem bestimmten Zeitraum nicht verkauft wurden.
Verzweifeln tu ich an der Anforderung, dass ein Artikel als verkauft gilt, wenn IRGENDEINE Variante dieses Artikels verkauft wurde (so wie bei der entsprechenden Auswertung im Backend eben über alle Verkäufe eines Hauptartikels summiert wird).
Im Repository.php steht für diese Abfrage
Returns a query which selects the sell count of each product.
* @param \DateTime $from
* @param \DateTime $to
* @return DBALQueryBuilder
*/
protected function createProductSalesBuilder(\DateTime $from = null, \DateTime $to = null)
{
$builder = $builder = $this->connection->createQueryBuilder();
$builder->select(array(
‚SUM(details.quantity) AS sales‘,
‚articles.name‘,
‚details.articleordernumber as ordernumber‘
))
->from(‚s_order_details‘, ‚details‘)
->innerJoin(‚details‘, ‚s_articles‘, ‚articles‘, ‚articles.id = details.articleID‘)
->innerJoin(‚details‘, ‚s_order‘, ‚orders‘, ‚orders.id = details.orderID‘)
->andWhere(‚orders.status NOT IN (-1, 4)‘)
->groupBy(‚articles.id‘)
->orderBy(‚sales‘, ‚DESC‘);$this->addDateRangeCondition($builder, $from, $to, ‚orders.ordertime‘);
return $builder;
}
Es würde ja schon reichen, wenn in obiger Query auch Datensätze mit 0 Verkäufen MIT ausgegeben werden.
Allerdings weiß ich grad auch nicht, wie man diesen Quellcode da oben in eine MySQL-Query umwandelt.
Hat da jemand einen Ansatz für mich?
Gruß
Euromann