mysql - left join и where

138
14 декабря 2020, 18:40

Существует две таблицы, которые требуется соединить при помощи left join, а также подсчитать сумму строк, удовлетворяющих некоторому условию. При использовании where left join превращается в inner join, так как where обрезает не существующие записи.

SELECT Person.PersonID, JobID, sum(JobTime) FROM Job, Person LEFT JOIN JobTime ON Person.PersonID=JobTime.PersonID WHERE Job.SprintID=1 AND Job.PersonID=Person.PersonID GROUP BY Person.PersonID;
+----------+-------+--------------+
| PersonID | JobID | sum(JobTime) |
+----------+-------+--------------+
|        1 |     1 |      2569980 |
|        2 |     2 |      7686475 |
|        3 |     3 |         NULL |
|        4 |     4 |      7816887 |
|        5 |     5 |      6721046 |
|        6 |     6 |         NULL |
+----------+-------+--------------+
SELECT Person.PersonID, JobID, sum(JobTime) FROM Job, Person LEFT JOIN JobTime ON Person.PersonID=JobTime.PersonID WHERE Job.SprintID=1 AND Job.PersonID=Person.PersonID AND DATE(JobDate) BETWEEN '2017-06-26' AND '2017-07-08' GROUP BY Person.PersonID;
+----------+-------+--------------+
| PersonID | JobID | sum(JobTime) |
+----------+-------+--------------+
|        1 |     1 |       354577 |
|        2 |     2 |       323180 |
|        4 |     4 |       341232 |
|        5 |     5 |       298533 |
+----------+-------+--------------+

Требуется сделать так, чтобы строки с null тоже были включены в таблицу.

READ ALSO
SQL-injection через User-Agent

SQL-injection через User-Agent

Согласно этому отчёту, можно выполнить SQL injection через User-AgentХотелось бы понять, как это работает, и каким образом обезопаситься от подобного...

194
Как вернуть данные от php после ajax запроса

Как вернуть данные от php после ajax запроса

Как вывести результат ajax запроса в alert?

127
Обратный слеш в json_decode

Обратный слеш в json_decode

Есть текст(из БД), который нужно превратить в jsonпример

123