Как изменить вывод, чтобы он содержал число в середине фразы

0

Я хочу иметь вывод, содержащий число count, но имеет это число отсчетов в середине фазы вывода.

например:

select COUNT(*) " " from product LEFT OUTER JOIN orderdetail ON product.productID=orderdetail.productID where orderid is null;

И он возвращает этот результат:

Изображение 174551

Но я хочу, чтобы он возвращал этот результат:

Изображение 174551

Я много часов искал, как это сделать, и не могу найти способ.

Спасибо за любую помощь.

  • 0
    Как выглядит структура вашей таблицы? И где вы хотите отобразить результат ? Обычно это делается на стороне сервера на веб-сайте, просто сохраняя значение 228 в базе данных ... Как с PHP (например): echo "We have " . $number . " products that have never been sold" .
  • 1
    @ObsidianAge i.imgur.com/Om5jDmX.png и хотел бы отобразить результат (число из числа) в середине фразы.
Показать ещё 1 комментарий
Теги:

2 ответа

1
Лучший ответ

Вы можете использовать CONCAT() AND CAST() для COUNT() для этого, например:

SELECT 
    CONCAT("We have ", CAST(COUNT(*) AS CHAR) , " products that have never been sold")
FROM 
    product 
LEFT OUTER JOIN orderdetail ON product.productID=orderdetail.productID 
WHERE 
    orderid is null;
  • 0
    Спасибо вам большое! Работает, и теперь я понимаю, что я испортил.
  • 0
    Помните, что это добавило бы больше шагов для PHP, например, если вы хотите использовать это count ( ) для использования его в качестве переменной где-то еще внутри вашего PHP, вам придется обрезать возвращаемое значение, чтобы извлечь число, а затем преобразовать это в инт ... и т. д. Итак, если вы видите, что COUNT ( ) будет использоваться где-то еще, я предлагаю вам просто вызвать COUNT ( ) и сохранить его внутри переменной, а затем использовать echo для отображения его в строках. лучше, чем дублировать запрос с COUNT ( ) только для этого.
0

В postgres вы можете использовать || для конкатенации:

SELECT 
  'There  are ' ||  COUNT(*)  || ' products that have never been sold')
FROM 
product 
LEFT OUTER JOIN orderdetail ON product.productID=orderdetail.productID 
WHERE  
orderid is null;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню