У меня есть запрос, который возвращает 3 поля, одним из которых является месяц в виде двузначного числа.
Я хочу, чтобы в основном это было так, если месяц == 1 выходной январь, если месяц == 02 выходной февраль и т. Д.
Это то, что я пытаюсь, но это совсем не работает и не позволяет отображать весь столбец в PHP.
while ($row = mysql_fetch_array($sqlstr)) {
if ($row['theMonth']=="6") {
echo "<td>{June}</td>";}
echo "<td>{$row['sumSales']}</td>";
echo "<td>{$row['sumPurchases']}</td>";
echo "</tr>";
}
}
Как правильно делать то, что я хочу, и почему я делаю неправильно?
SQL-запрос, который я использую:
SELECT theMonth, sum(Sales) as sumSales, sum(Purchases) as sumPurchases
FROM
( SELECT date_format(saledate, '%Y-%m') AS theMonth, sales.cost as Sales, 0 AS Purchases
FROM sales, products
WHERE sales.product=products.name AND category='Food' OR category='Bocas'
OR category='Bebidas' OR category='Flor de cana por botellas'
OR category='Vino por botella' OR category='hora feliz'
UNION ALL
SELECT date_format(purchasedate, '%Y-%m') AS theMonth, 0 as Sales, purchases.cost as Purchases
FROM purchases
) AS all_costs
group by theMonth
Не думаю, что смогу просто заменить
SELECT date_format(purchasedate, '%Y-%m') AS theMonth
с
SELECT MONTHNAME(purchasedate) AS theMonth
Итак, как лучше всего вернуть название месяца в виде текста в SQL?