Search code examples
sqlgroup-bygoogle-bigquerysubquerytab-ordering

Getting "Scalar subquery produced more than one element" Error


SELECT
  CONCAT(warehouse.warehouse_id,warehouse.warehouse_alias) AS warehouse_name,
  (SELECT
  COUNT(*)
    FROM focused-mote-392209.warehouse_orders.orders AS orders
    GROUP BY
    orders.warehouse_id
  ) AS total_orders,
FROM
  focused-mote-392209.warehouse_orders.warehouse AS warehouse
INNER JOIN
  focused-mote-392209.warehouse_orders.orders AS orders 
  ON warehouse.warehouse_id = orders.warehouse_id
GROUP BY
warehouse_name

I want to group orders by warehouses but when i run this query i get "Scalar subquery produced more than one element" error. How can i fix this?

I've tried to group orders at the end of query but that time i couldn't group the things i wanted to select such as "warehouse_id" and "warehouse_alias" so i've tried using concat.


Solution

  • Try this:

    SELECT
      CONCAT(warehouse.warehouse_id,warehouse.warehouse_alias) AS warehouse_name,
      COUNT(orders.warehouse_i) AS total_orders
    FROM
      focused-mote-392209.warehouse_orders.warehouse AS warehouse
    INNER JOIN
      focused-mote-392209.warehouse_orders.orders AS orders 
      ON warehouse.warehouse_id = orders.warehouse_id
    GROUP BY
    warehouse_name