(закрыто)sql запрос. group by
Ну так убери группировку и посмори, что выдаст.
Зафиксируй asrc.id и посмотри, что выдаст.
Зафиксируй adst.id с asrc.id и посмотри, что выдаст.
Зафиксируй asrc.id и посмотри, что выдаст.
Зафиксируй adst.id с asrc.id и посмотри, что выдаст.
чудеса.
если этот запрос в phpmyadmin написать - то всё ок.
а в пхп левые цифры.
если этот запрос в phpmyadmin написать - то всё ок.
а в пхп левые цифры.
$q="SELECT asrc.name, adst.name, sum(transactions.amount) ".
" FROM accounts asrc, accounts adst,transactions,codes ".
" WHERE ".
" transactions.dst = adst.number ".
" AND transactions.src = asrc.number ".
" AND $time_cond ".
" AND transactions.code=$code ".
" GROUP BY asrc.name,adst.name";
$dbresult2 = db_query($q);
info_print($q);
while($row2 = mysql_fetch_row($dbresult2 {
list ($from, $to,$sum) = $row2;
if($amount != 0)
print "$from >> $to : $sum <br>";
}
}
mysqladmin скормил то, что выдал info_print.
нашёл косяк.
было
FROM accounts asrc, accounts adst,transactions,codes
вместо
FROM accounts asrc, accounts adst,transactions
было
FROM accounts asrc, accounts adst,transactions,codes
вместо
FROM accounts asrc, accounts adst,transactions
Оставить комментарий
Phoenix
есть таблица транзакцийвремя
откуда
куда
сколько
тип
хочу получить сумму однотипных транзакций(совпадают коды, "откуда" и "куда") за отпределённую дату.
SELECT
asrc.name, adst.name, sum(transactions.amount)
FROM accounts asrc, accounts adst,transactions
WHERE
transactions.dst = adst.number AND
transactions.src = asrc.number AND
UNIX_TIMESTAMP(transactions.date) BETWEEN UNIX_TIMESTAMP('2007-10-1') AND UNIX_TIMESTAMP('2007-10-31') AND
transactions.code=111
GROUP BY
asrc.name,adst.name
что я делаю не так?
он показывает какие-то очень сильно большие цифры. такое ощущение, что складывает лишний раз что-то.