В чем проблема в коде представления(mysql)
Привет, я использую этот код для создания представления Mysql, которое суммирует запасы товаров ..
CREATE OR REPLACE VIEW `view_items_defin` as SELECT items.stitems_ID, items.stitems_Status, items.stitems_Name, items.stitems_Pharma_ActiveIngredient, items.stitems_Code, manuf.manu_Name, COALESCE(ca.Amount, 0) + COALESCE(pa.Amount,0) AS Stock FROM st_items items LEFT JOIN (SELECT sns.stitems_ID, SUM(sns.StockQnty) AS Amount FROM stock_noserials sns GROUP BY sns.stitems_ID) ca ON ca.stitems_ID = items.stitems_ID LEFT JOIN (SELECT pis.stitems_ID, COUNT(*) AS Amount FROM purchases_item_seriels pis WHERE pis.pis_Statues IN (0, 5, 6) GROUP BY pis.stitems_ID) pa ON pa.stitems_ID = items.stitems_ID INNER JOIN `st_plug_manufacturer` AS manuf ON items.`stitems_Manufacturer` = manuf.`manu_ID`;
это данные таблиц :
1 - Таблица stock_noserials
--------------------------------- id | stitems_ID | StockQnty | --- 1 | 15078 | -6 | --- 2 | 15078 | 0 | --- 3 | 15078 | 0 | --- ---------------------------------
и нет никаких данных в таблице purchases_item_seriels
но результат просмотра кода :запас = -2, а не -6
Что я уже пробовал:
я пытался следовать многим пунктам, но та же проблема ..
Gerry Schmitz
Никто, кроме тебя, не знает, что там на столах. И чем сложнее вы делаете запрос, тем меньше кто-то еще может вам помочь. Вы должны проверить промежуточные результаты, прежде чем придумывать просто "кучу SQL", которую вы не понимаете.