Как удалить ненужную информацию из таблицы? - PullRequest
0 голосов
/ 03 мая 2020

я пытаюсь создать столбец для месяца 1, 2 и 3 и поместить сумму счета в этот столбец. Я сделал это успешно, но затем ниже есть больше столбцов с нулями для каждого столбца, иначе он показывает мне столбец для каждого счета, но я хочу получить ТОЛЬКО счета, которые были сделаны в месяц 1,2 и 3, и дон Остальное не покажу. Как мне это сделать?

что я получу:

invoice_id | total | firstMonth | secondMonth | thirdMonth |

1              33.4      0            0           33.4

2            3434.5     0             0             0 <=====



what I want:

invoice_id | total | firstMonth | secondMonth | thirdMonth |

1            33.4         0           0           33.4

1 Ответ

0 голосов
/ 03 мая 2020

Пожалуйста, узнайте о типах. Одинарные кавычки должны использоваться для констант строки и даты, а не для идентификаторов столбцов или чисел.

Тогда, я думаю, вы просто хотите правильно отфильтровать результаты:

SELECT i.id AS invoice_ID , i.total AS TOTAL,
      (CASE WHEN month(i.datetime) = 1 THEN ABS(i.total) ELSE 0 END) AS firstMonth,
      (CASE WHEN month(i.datetime) = 2 THEN ABS(i.total) ELSE 0 END) AS secondMonth,
      (CASE WHEN month(i.datetime) = 3 THEN ABS(i.total) ELSE 0 END) AS thirdMonth
FROM invoice i JOIN
     store s
     ON i.store_id = s.id JOIN
     company c
     ON s.company_id = c.id
WHERE c.name = 'RubberDuck' AND
      i.datetime >= '2019-01-01' AND
      i.date_time < '2019-04-01'
...