У меня есть 2 таблицы, мне нужно суммировать общее значение из каждого столбца цены таблицы. Я провел некоторое исследование Stack, но решения, которые я видел, были слишком длинными и не казались достаточно эффективными. С MySQL я пытаюсь получить общее значение из StoreCoins плюс общее значение из StoreMemorabilia и общее значение из расходных материалов, тогда я хочу получить сумму общего столбца таблицы. Этот первый код в настоящее время не работает ...Добавление общих значений из нескольких таблиц в MySQL с php
if($results = $this->dbConn->query("SELECT SUM(column) AS InventoryValue FROM (
SELECT SUM(column) AS value FROM StoreCoins
UNION ALL
SELECT SUM(column) AS value FROM StoreMemorabilia
) allposts")){
while($data = $results->fetch_assoc()){
$totalVal = $data['InventoryValue'];
$totalVal .= ".00";
Мне нужно знать, что я делаю неправильно в коде выше.
С другой записью (это связано с php): У меня есть следующий скрипт, который после возвращения правильного значения решает, где положить запятые для значений доллара. Я хотел бы рекомендовать более эффективный способ создания этой функции и ее результатов. Оператор switch работает очень хорошо и делает то, что мне нужно для этого, я просто хочу более красноречивый способ написать это.
switch(strlen($Val)){
case 7:
$rem = substr($Val, 1, 6);
$Val = substr_replace($Val, ",", 1);
$Val = $Val.$rem;
break;
case 8:
$rem = substr($Val, 2, 6);
$Val = substr_replace($Val, ",", 2);
$Val = $Val.$rem;
break;
case 9:
$rem = substr($Val, 3, 6);
$Val = substr_replace($Val, ",", 3);
$Val = $totalVal.$rem;
break;
case 10:
$rem = substr($Val, 1, 10);
$Val = substr_replace($Val, ",", 1);
$Val = $Val.$rem;
$rema = substr($Val, 5, 6);
$Val = substr_replace($Val, ",", 5);
$Val = $Val.$rema;
}
Спасибо! Я тестировал это как второй вариант, и он работает. 2 хорошие способы сделать это. –