我有問題,查詢MySQL的 查詢乘以量不應該MySQL的 - 左加入乘法
表 「訂單」:
[ID, NAME ]
[22 , "Example"]
表 「支付」:
[ID, ORDER_ID, AMOUNT]
[1 , 22 , 120 ]
表 「文件」:
[ID, ORDER_ID, NAME]
[1 , 22 , "Test 1"]
[2 , 22 , "Test 2"]
我想:
[ID, NAME , PRICE_SUM, INDEXS ]
[22, "Example", 120 , "Test 1, Test 2"]
現在我得到它(在PRICE_SUM錯誤)
[ID, NAME , PRICE_SUM, INDEXS ]
[22, "Example", 240 , "Test 1, Test 2"]
我的查詢:
SELECT
orders.id,
orders.name,
sum(payments.amount) as price_sum,
GROUP_CONCAT(
CASE WHEN documents.name = "Private" THEN documents.index END
) AS indexs
FROM
`orders`
LEFT JOIN `payments` ON `payments`.`order_id` = `orders`.`id`
LEFT JOIN `documents` ON `documents`.`id_order` = `orders`.`id` AND `documents`.`name` = "Private"
GROUP BY
`orders`.`id`
ORDER BY
`orders`.`id` DESC
問題是什麼用' price_sum'是'price_sum'應該是120嗎? –
無論如何,您的查詢無效SQL,因爲您正在選擇不屬於GROUPING的列(orders.name)。 MySQL在容錯設置下容忍這個錯誤,但是你得到的值將是組內一個_random_記錄的值。 – CBroe
@LewisBrowne因爲訂單是1付款... –