Делать sumatoria меньшей стоимости в один год и в один месяц в специфическом средстве

У меня есть недостаток с консультацией в MySQL и мне не удается понять, что у меня есть зло, я объясняю им, чтобы видеть, не ли вижу я что-то или мне надо немного. У меня есть таблица MySQL с полями стоимости в месяце в месяц, год за годом из-за каждого клиента. Я хочу иметь sumatoria каждого клиента колонны стоимости по отношению к лезвию года и в месяце X, а именно, требую накопленный до этой даты, у меня есть следующее:

SELECT dlin_codcli, dlin_anoliq, dlin_mesliq, SUM(IFNULL(dlin_valint, 0)) AS dlin_valint
    FROM coo_detintaportes
    WHERE dlin_codcli = '32861467'
    AND dlin_anoliq <= 2019
    AND dlin_mesliq <= 1

В teroria он был бы должен выходить sumatoria dlin_valint с января 2019 назад, итак, только показывает мне январскую стоимость и не, почему оно происходит. Если я снимаю фильтр месяца консультации да, он дает мне хорошо, но дает мне стоимость до сегодняшнего дня, костлявая, марта: что будет?

0
задан 19.03.2019, 16:33
2 ответа

То, за чем оно последует, что estГЎs обусловливая плохо месяц. Несмотря на то, что ты помещаешь < = 2019, "and" показывает, что они только были январскими несовершеннолетними, поэтому только идет в conciderar они aГ±os предыдущие 2019, но только Ваш январь. Измени ты condiciГіn следующую форму:

SELECT dlin_codcli, dlin_anoliq, dlin_mesliq, SUM(IFNULL(dlin_valint, 0)) AS dlin_valint
FROM coo_detintaportes
WHERE dlin_codcli = '32861467'
  AND (dlin_anoliq < 2019 -- menores al año 2019.
    or dlin_mesliq = 1)  -- si es el 2019, sólo concidere el mes de enero.
0
ответ дан 02.12.2019, 05:27
  • 1
    Спасибо за ответ, уже я протестировал ее и докуда я сделал доказательства он я работает хорошо. Я сыграю с датами немного больше, но буду думать, что он подает меня, буду в понимать сейчас консультацию, не было caí do в счете этого. – Alejandro García Garay 19.03.2019, 16:47
  • 2
    Дай ему не беспокойся, в любом случае, если ты sirvió в 100 %, не забывай пометить ответ как vá lida. – Rostan 19.03.2019, 16:48
  • 3
    Rostan, тысяча спасибо за colaboració n. Efectivament как ты комментируешь мне, с có я говорю, что ты происходишь со мной, он дает мне sumatoria, которого я требую, только я покрываю делать pequeñ или я меняюсь, так как я не только нуждаюсь накопленный añ вы предыдущие а месяцев, прошедших в añ или настоящий. Измените твой có я говорю и поместил ему dlin_mesliq < = < < месяц corte> > , с этим берет меня каждый месяц до того, в котором я нуждаюсь. SELECT dlin_codcli, SUM (IFNULL (dlin_valint, 0)) ЭКСПЕРТ dlin_valint FROM coo_detintaportes WHERE dlin_codcli = ' 32861467' AND (dlin_anoliq < 2019 or dlin_mesliq < = 1) – Alejandro García Garay 19.03.2019, 16:59
  • 4
    Дай ему! это guto помочь раньше тебе! удача и успехи! – Rostan 19.03.2019, 17:00

Я понимаю, что то, что ты хочешь, является суммой всех они aГ±os предыдущие 2019 (не имея значение месяц), и если aГ±o это - 2019 тогда только считать январь. Следовательно консультация должна отражать это...

Она soluciГіn podrГ, - чтобы быть asГ-:

SELECT dlin_codcli, dlin_anoliq, dlin_mesliq, SUM(IFNULL(dlin_valint, 0)) AS dlin_valint
FROM coo_detintaportes
WHERE dlin_codcli = '32861467'
AND (dlin_anoliq < 2019 OR (dlin_anoliq = 2019 AND dlin_mesliq <= 1))
0
ответ дан 02.12.2019, 05:27

Теги

Похожие вопросы