Ниже мой SQL запросСинтаксическая ошибка при использовании подзапросов
SELECT parts.product_code AS PC,SUM(x.goods_qty) AS Qty, SUM(x.price * x.goods_qty)/SUM(x.goods_qty) AS Avg_Cost, parts.cost_price AS Avg_Cost1, parts.cost_price * parts.bulk_qty AS Total_Cost_Price1, SUM(x.price * x.goods_qty)/SUM(x.goods_qty) * parts.bulk_qty AS Total_Cost_Price, parts.sales_price * parts.bulk_qty AS Total_Sales_Price
FROM parts
LEFT JOIN received_goods_details x ON x.part_id = parts.id
LEFT JOIN invoice_details ON invoice_details.part_id = parts.id
WHERE parts.bulk_qty >0
AND
id IN
(SELECT *
FROM `received_goods_details`
WHERE part_id = parts.id
ORDER BY id DESC
LIMIT 5)
GROUP BY parts.id
LIMIT 0 , 30
I am getting a error #1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
я отредактировал мой SQL-запрос немного, удаляется один пункт, где
я пытался, как это, но он не работает слишком. Здесь я попытался использовать подзапрос внутри самого оператора select.
SELECT parts.product_code AS PC, parts.part_no AS PO, parts.id AS part_id, parts.part_name AS Part_Name, parts.bulk_qty AS Stock, parts.cost_price AS LPP, parts.sales_price AS Sales_Price, SUM(x.goods_qty) AS Qty, SUM(x.price * x.goods_qty)/SUM(x.goods_qty) AS Avg_Cost, parts.cost_price AS Avg_Cost1 FROM (SELECT *
FROM received_goods_details
WHERE part_id = 8
ORDER BY id DESC
LIMIT 5) ,
parts.cost_price * parts.bulk_qty AS Total_Cost_Price1, SUM(x.price * x.goods_qty)/SUM(x.goods_qty) * parts.bulk_qty AS Total_Cost_Price, parts.sales_price * parts.bulk_qty AS Total_Sales_Price
FROM parts
LEFT JOIN received_goods_details x ON x.part_id = parts.id
LEFT JOIN invoice_details ON invoice_details.part_id = parts.id
WHERE parts.bulk_qty >0
GROUP BY parts.id
LIMIT 0 , 30
теперь я получаю сообщение об ошибке, если
ВЫБРАТЬ parts.product_code AS PC, parts.part_no AS ПО, parts.id А.С. part_id, parts.part_name AS part_name, parts.bulk_qty AS складе, детали .cost_price AS LPP, parts.sales_price AS Sales_Price, SUM (x.goods_qty) AS Qty, SUM (x.price * x.goods_qty)/SUM (x.goods_qty) AS Avg_Cost, parts.cost_price AS Avg_Cost1 FROM (SELECT * FROM received_goods_details WHERE y.part_id = parts.id ORDER BY id DESC LIMIT 5) AS T,
У вас есть два 'where' в вашем основном запросе:' WHERE parts.bulk_qty> 0 И WHERE id IN'. И 'select *' в подзапросе нет хорошего стиля, лучше использовать что-то как 'SELECT id' –