Показать сообщение отдельно
  #3 (permalink)  
Старый 20.03.2021, 17:10
Аспирант
Отправить личное сообщение для shareware Посмотреть профиль Найти все сообщения от shareware
 
Регистрация: 04.11.2019
Сообщений: 32

Сообщение от ksa Посмотреть сообщение
shareware, у тебя должна существовать таблица с записями "date", которые тебе нужны.
Либо придется "соединять" таблицы из одной записи
SELECT name FROM users 
UNION 
SELECT name FROM orders

в которой первый столбец-скаляр с нужным месяцем... А второй это результат запроса к другой таблице.
Сколько нужно месяцев - столько и "соединений".
Это получается 12 UNION'ов плодить для каждого месяца ?
А циклом через PHP можно такое провернуть ? Например, я сейчас костылить пытаюсь в таком формате:

$old = 0;
while ($res = pg_fetch_array($queryPayment))
{
							
$tempDataArray[] = $res['date'];
$tempSumArray[] = round($res['summ'],2);
													
}

$new = count($tempDataArray); // Сколько дат в массиве



if ($old < $new){
$old = $new;
}else{
$expl = explode('-',$tempDataArray[0]); // Берем номер месяца
$i = 0;
for ($i = 0; $i<=$old; $i++)
{
for ($j=$countSumArray; $j<=$old; $j++)
{
if ($i == (int)$expl[0]) {
											 $tempSumArray[$j] = $oldSum[$i];
}else{
											$tempSumArray[$j] = null;
}
										
}
									
									
									
}


}


И оно вроде бы как работает..только наоборот, NULL добавляется не в нужные места, а после всех данных..не соображаю уже, а тут явная ошибка из за моей невнимательности, может вы увидите
Ответить с цитированием