在您将其标记为重复之前,我尝试了同一个网站上给出的几种解决方案,但没有一个起作用。
My query
SELECT
temp_fk_settlements.sku,
temp_fk_settlements.order_item_id,
temp_fk_settlements.order_date,
sum(temp_fk_settlements.order_item_value),
sum(temp_fk_settlements.total_marketplace_fee),
sum(temp_fk_settlements.service_tax),
sum(temp_fk_settlements.settlement_value),
sum(temp_fk_settlements.commission),
sum(temp_fk_settlements.fixed_fee),
sum(temp_fk_settlements.shipping_fee),
sum(temp_fk_settlements.reverse_shipping_fee),
sum(temp_fk_settlements.invoice_amount)
FROM
temp_fk_returns,
temp_fk_settlements
WHERE
temp_fk_settlements.order_item_id = temp_fk_returns.order_item_id and
temp_fk_returns.return_type = 'customer_return'
GROUP BY
temp_fk_settlements.order_item_id
My ERROR
ERROR: column "temp_fk_settlements.sku" must appear in the GROUP BY clause or
be used in an aggregate function
LINE 2: temp_fk_settlements.sku,
如果我尝试删除 temp_fk_settlements.sku 列,它仍然会在不同的列上给我错误。我被困住了,因为没有一个解决方案有效。
我想根据 order_item_id 对结果进行分组。
我的表结构是
temp_fk_结算:
Create table temp_fk_settlements(
settlement_reference_no varchar(50),
order_type char(20),
fulfillment_type varchar(25),
sku varchar(25),
order_id varchar(25),
order_item_id varchar(25),
order_date date,
dispatch_date date,
delivery_date date,
cancellation_date date,
settlement_date date,
order_status varchar(25),
quantity integer,
order_item_value integer,
refund integer,
protection_fund integer,
total_marketplace_fee double precision,
service_tax double precision,
settlement_value double precision,
commission_rate integer,
commission double precision,
fee_discount double precision,
cancellation_fee double precision,
fixed_fee integer,
emi_fee double precision,
total_weight float,
shipping_fee double precision,
reverse_shipping_fee double precision,
shipping_zone char(15),
token_of_apology double precision,
pick_and_pack_fee double precision,
storage_fee double precision,
removal_fee double precision,
invoice_id varchar,
invoice_date date,
invoice_amount integer,
sub_category char(25),
total_offer_amount double precision,
my_offer_share double precision,
flipkart_offer_share double precision
)
temp_fk_返回:
CREATE TABLE temp_fk_returns(
return_id VARCHAR(25),
order_id VARCHAR(25),
order_item_id VARCHAR(25),
product_id VARCHAR(25),
title VARCHAR(100),
sku VARCHAR(25),
quantity INTEGER,
total_price INTEGER,
return_requested_on DATE,
return_initiated_on DATE,
return_tracking_id VARCHAR(25),
status VARCHAR(25),
reason VARCHAR(150),
sub_reason VARCHAR(150),
customer_comments VARCHAR,
return_type VARCHAR(25)
)