Условие SQL только на 1 столбце - PullRequest
0 голосов
/ 13 марта 2019

Я изо всех сил пытаюсь найти, как я могу поместить условие where только в 1 столбец.

Подводя итог, я хочу иметь столбец всех заявок в базе данных и еще один столбец всех заявок с указанной датой.

Мой запрос SQl:

SELECT
  i.created AS creation, l.label AS activite, 
  COUNT(l.label) AS nbTicket, COUNT(l.label) AS nbEntree
FROM label AS l INNER JOIN
     jiraissue AS i
     ON (l.issue = i.id) AND i.issuetype <> 3
GROUP BY activite

Итак, у меня есть все билеты из базы данных, но если бы у меня было условие where с датой:

SELECT l.label AS activite, SUM(i.timespent/3600/8) AS consomme, SUM(i.timeestimate/3600/8) AS raf, COUNT(l.label) AS nbTicket, 
    SUM(i.timeoriginalestimate/3600/8) AS chargeProvisoire, COUNT(l.label) AS nbEntree 
    FROM label AS l INNER JOIN jiraissue AS i ON (l.issue = i.id)  
    WHERE l.label IN ('Devis','TGC1','TGC2','TGC3','TGC4','TGC5','TGC5-Bis','TGC6','TGC7','TGC8','TGC8-Bis','TGC9','TGC10','TGC10-Bis','TGC12','TGC13','TGC13-Bis','TGC14','TGC50','TGC60')
    AND i.issuetype <> 3 AND i.created LIKE "2014-01-%" GROUP BY activite

У меня только билет на январь 2019 года.

Является ли их решением иметь все заявки в столбце ==> nbTicket и все заявки с предложением 'where' в столбце ==> nbEntree?

1 Ответ

0 голосов
/ 13 марта 2019

Вы можете использовать условное SUM() в первом запросе, например:

SELECT
  max(i.created) AS creation,
  l.label AS activite, 
  COUNT(*) AS nbTicket,
  SUM(case when i.created LIKE "2019-01-%" then 1 end) AS nbEntree
FROM label AS l INNER JOIN
     jiraissue AS i
     ON (l.issue = i.id) AND i.issuetype <> 3
GROUP BY activite
...