ok это очень просто, но искали 3 часа и все еще не могли заставить его работать!сумма 1 столбца 2 результата diff, где каждый результат! так просто, но не работает
сценарий: у меня есть дБ с индивидуальными расходами на 2 бизнеса, и я хочу суммировать стоимость каждого бизнеса и присутствовать на экране. теперь я знаю, что это достаточно просто и легко сделать с помощью двух SELECT. но я хочу сделать это в одном запросе!
DB
|cost|business|
|100 | 1 |
|200 | 2 |
|200 | 1 |
|300 | 2 |
так из таблицы выше мы знаем, что b1 = 300 и b2 = 500! но ни один из моих запросов не работает!
У меня есть попытки UNION и CASE, но я не знаком с ними. мои запросы:
первый попробовать:
$buscost = mysql_query("SELECT FORMAT(sum(`cost`),2) as `b1` FROM `outgoing` WHERE `business`=1
UNION
SELECT FORMAT(sum(`cost`),2) as `b2` FROM `outgoing` WHERE `business`=2")
or die(mysql_error());
$buscost = mysql_fetch_array($busowe);
вторая попытка:
$buscost = mysql_query("SELECT
CASE WHEN `business` = 1 THEN FORMAT(sum(`cost`),2) END AS `b1` ,
CASE WHEN `business` = 2 THEN FORMAT(sum(`cost`),2) END AS `b2`
FROM `outgoing` WHERE `active`='yes' ");
$buscost = mysql_fetch_array($buscost);
* стоимость устанавливается как поплавок (11,2).
im im im close Я просто не знаю достаточно, чтобы понять это, нашел похожие вопросы здесь, но ни один из ответов не помог!
oh и if i print_r
, первый только выбирает сумму b1, b2 не существует! и второй массив, все, что я получил, - это набор результатов первого случая, а случай 2 "b2" пуст, но существует !! я проверил таблицы и там есть тестовые данные для обоих предприятий ».
, пожалуйста, помогите с любыми советами или решениями с благодарностью.
редактировать: забыл упомянуть все результаты также должны быть отфильтрованы с тем, где active
= «да»
благодаря jcho360 и специально Дален для ответа и редактирования несколько раз пытались союз один, но он снова не удалось, но я, наконец, используется ** 'ВЫБРАТЬ ( выбрать формат (сумма (стоимость), 2), как b1 ОТ исходящего где бизнес = 1 и активного = 'да' GROUP BY бизнеса ) AS b1, ( выбрать формат (сумма (стоимость), 2) в качестве б1 ОТ исходящего где бизнес = 2 и активного = ' да ' GROUP BY business ) AS b2' ** и отлично работает .. СПАСИБО ДЛЯ БЫСТРОГО ОТВЕТА ПАРОВЫ МНОГО ПРИЛОЖЕНИЙ CIATED –