-3
這是我的SQL Server查詢。當我執行此查詢,Group by
是給我一個錯誤GROUP BY語句不起作用
消息8120,級別16,狀態1,行1
列「master_order.order_id」在選擇列表中無效,因爲它不包含在任一個聚合函數或GROUP BY子句。
我的關係表,但他沒有找到爲什麼如果無法通過其工作
SELECT
master_order.order_id, master_order.order_no, article_order.article_name,
size.size_name, transaction_order.quantity, transaction_order.unit_name,
transaction_order.rate, transaction_order.amount, transaction_order.discount,
transaction_order.net_amount, master_order.order_date, buyer.buyer_name,
master_order.shipment_date, bank.bank_name, bank.bank_branch, bank.account_title,
master_order.confirmation_date, payment.payment_terms, agent.agent_name,
agent.company_name, currency.currency_symbol, master_order.half_day,
master_order.half_date, master_order.shipped_board_date, master_order.port_category,
port_info_setup.port_name, port_info_setup.country_name, master_order.revised,
master_order.confirmed, master_order.ex_factory, master_order.comments,
master_order.dis_type
FROM
master_order
INNER JOIN
transaction_order ON master_order.order_id = transaction_order.order_id
INNER JOIN
size ON transaction_order.size_id = size.size_id
INNER JOIN
article_order ON transaction_order.article_id = article_order.article_id
INNER JOIN
buyer ON master_order.buyer_id = buyer.buyer_id
INNER JOIN
port_info_setup ON master_order.port_id = port_info_setup.port_id
INNER JOIN
payment ON master_order.payment_id = payment.payment_id
INNER JOIN
currency ON master_order.currency_id = currency.currency_id
INNER JOIN
bank ON master_order.bank_id = bank.bank_id AND buyer.buyer_id = bank.buyer_id
INNER JOIN
agent ON master_order.agent_id = agent.agent_id
GROUP BY
size.size_name
這是一個令人難以置信的常見錯誤,它是'GROUP BY'意味着什麼的基礎:'GROUP BY size.size_name'意思是「對於size.size_name'的每個不同值只輸出一行數據庫應該如何選擇,對於所有其他需要選擇的列,在每一行中輸出哪個值? – IMSoP
如果一個訂單具有多個尺寸並且尺寸相同,那麼相同的尺寸將被組合並顯示 – user2491383
快速示例:master_order 1的尺寸爲S和L ; master_order 2的大小爲S,M和L; master_order 3的大小爲M和L. GROUP BY的大小意味着我們有一行S,一行M,L一行; S行值應該master_order有,1或2?數據庫無法選擇,所以它告訴你,你的查詢不能被回答。 – IMSoP