У меня есть 2 запроса к базе данных, и я хотел сделать их одним - PullRequest
0 голосов
/ 15 сентября 2018

У меня следующая проблема: у меня есть 2 запроса к базе данных, и я хотел сделать их одним.

SELECT SUM(verguetung_lead) FROM einkaeufe WHERE bearbeitet_wann >= '$zaehl_heute_von' AND bearbeitet_wann <= '$zaehl_heute_bis'
SELECT SUM(verguetung_lead) FROM einkaeufe WHERE bearbeitet_wann >= '$zaehl_gestern_von' AND bearbeitet_wann <= '$zaehl_gestern_bis'

Таблица einkaeufe

bearbeitet_wann | verguetung_lead
----------------+----------------
1536937398      | 99.00
1536803939      | 10.00


SELECT
SUM(if(bearbeitet_wann >= '1536962460',bearbeitet_wann <= '1537048740',verguetung_lead)) AS einkaeufe_verguetet_heute_daten,
SUM(if(bearbeitet_wann >= '1536876060',bearbeitet_wann <= '1536962340',verguetung_lead)) AS einkaeufe_verguetet_gestern_daten,
SUM(if(bearbeitet_wann >= '1536444060',bearbeitet_wann <= '1537135140',verguetung_lead)) AS einkaeufe_verguetet_woche_daten
FROM einkaeufe

выход

[einkaeufe_verguetet_heute_daten] => 109.00 [einkaeufe_verguetet_gestern_daten] => 11.00 [einkaeufe_verguetet_woche_daten] => 2.00 )

время первой строки 2018-09-14T15:03:18+00:00

время второй строки 2018-09-13T01:58:59+00:00

почему-то цифры не верны

Jens

Ответы [ 2 ]

0 голосов
/ 22 октября 2018
<Code>
$datetime_start = date("Y-m-d");
SELECT
SUM(if(lastupdate between Like '%".$datetime_start."%',verguetung, 0)) AS einkaeufe_verguetet_heute_daten,
FROM einkaeufe
</Code>

следует проводить обновление загрузки только с сегодняшнего дня

0 голосов
/ 16 сентября 2018

Вы не используете IF правильно, второй параметр - это «значение, если истинно», а третий - «значение, если ложь» (см. Руководство ).Вы также можете упростить SELECT, используя BETWEEN.Попробуйте это:

SELECT
SUM(if(bearbeitet_wann between 1536962460 and 1537048740,verguetung_lead, 0)) AS einkaeufe_verguetet_heute_daten,
SUM(if(bearbeitet_wann between 1536876060 and 1536962340,verguetung_lead, 0)) AS einkaeufe_verguetet_gestern_daten,
SUM(if(bearbeitet_wann between 1536444060 and 1537135140,verguetung_lead, 0)) AS einkaeufe_verguetet_woche_daten
FROM einkaeufe

Вывод:

einkaeufe_verguetet_heute_daten     einkaeufe_verguetet_gestern_daten   einkaeufe_verguetet_woche_daten
0,00                                99,00                               109,00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...