Как отобразить денежную стоимость в PostgreSQL - PullRequest
0 голосов
/ 20 октября 2018

Мой запрос к базе данных ниже, но я все еще не могу правильно отобразить денежное значение.Пожалуйста, помогите мне.

SELECT  SUM (orders.quantity * products.price) as total,
to_char((orders.quantity * products.price), '$99,999,999.99') AS money
    FROM
       orders
       inner join products on products.id = orders.products_id
       inner join customers on customers.id = orders.customers_id
    WHERE order_date BETWEEN CURRENT_DATE - INTERVAL '30 days'
      AND CURRENT_DATE + INTERVAL '1 days';

Моя проблема в том, что я получаю эту ошибку:

ERROR: column "orders.quantity" must appear in the GROUP BY clause or be used in an aggregate function

1 Ответ

0 голосов
/ 20 октября 2018

Вы действительно не сказали, в чем заключалась ваша проблема, но если вы используете модификатор формата FM, как в

SELECT to_char(12345.67, '$99,999,999.99FM');

  to_char   
------------
 $12,345.67
(1 row)

, результат может быть вам больше нравится.

Чтобы запрос работал без ошибок, добавьте в конец предложение GROUP BY, например

... GROUP BY money
...