gpt4 book ai didi

mysql - JOIN、WHERE 和 QUERY

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:04 25 4
gpt4 key购买 nike

这是代码。它在数据库中没有数据的月份返回具有 0 值的表。完美!

SELECT YEAR(k.miesiace)  as                                    year,
MONTH(k.miesiace) AS month,
IFNULL(YEAR(data_zlozenia), YEAR(k.miesiace)) order_year,
IFNULL(MONTH(data_zlozenia), MONTH(k.miesiace)) order_month,
IFNULL(MONTHNAME(data_zlozenia), MONTHNAME(k.miesiace)) monthname,
IFNULL(SUM(zp.cena_netto * ilosc), 0) sum
FROM kalendarz k
LEFT OUTER JOIN zamowienia z
on MONTH(z.data_zlozenia) = MONTH(k.miesiace) AND YEAR(z.data_zlozenia) = YEAR(k.miesiace)

LEFT OUTER JOIN zamowienia_pozycje zp on z.id_ezamowienia = zp.id_ezamowienia

WHERE k.miesiace >= DATE_SUB(now(), INTERVAL 12 MONTH)
AND k.miesiace <= now()

GROUP BY MONTH(k.miesiace), YEAR(k.miesiace)
ORDER BY YEAR(k.miesiace), MONTH(k.miesiace);

但是当我将这个添加到我的 WHERE 子句时:

AND zp.id_artykulu = 9593

它破坏了我的代码并将输出限制为仅存在数据的月份,而不是所有 12 个月。兄弟我该换什么?

最佳答案

子查询中移动您的zp

SELECT YEAR(k.miesiace)  as                                    year,
MONTH(k.miesiace) AS month,
IFNULL(YEAR(data_zlozenia), YEAR(k.miesiace)) order_year,
IFNULL(MONTH(data_zlozenia), MONTH(k.miesiace)) order_month,
IFNULL(MONTHNAME(data_zlozenia), MONTHNAME(k.miesiace)) monthname,
IFNULL(SUM(zp.cena_netto * zp.ilosc), 0) sum
FROM kalendarz k
LEFT OUTER JOIN zamowienia z
on MONTH(z.data_zlozenia) = MONTH(k.miesiace) AND YEAR(z.data_zlozenia) = YEAR(k.miesiace)
LEFT OUTER JOIN
(select ilosc, cena_netto, id_ezamowienia from zamowienia_pozycje
where id_artykulu = 9593) zp on z.id_ezamowienia = zp.id_ezamowienia
WHERE k.miesiace >= DATE_SUB(now(), INTERVAL 12 MONTH)
AND k.miesiace <= now()
GROUP BY MONTH(k.miesiace), YEAR(k.miesiace)
ORDER BY YEAR(k.miesiace), MONTH(k.miesiace);

关于mysql - JOIN、WHERE 和 QUERY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58910588/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com