Advertisement
zotov-vs

orders_products_view_1c

Nov 5th, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.33 KB | None | 0 0
  1. CREATE OR REPLACE ALGORITHM = MERGE
  2. VIEW orders_products_view_1c AS
  3. -- explain
  4. SELECT opn.id AS id
  5. ,opn_1.id AS id_old
  6. ,opn.orders_id AS orders_id
  7. ,opn.is_deleted AS is_deleted
  8. ,opn.in_supply AS in_supply
  9. ,opn.in_stock AS in_stock
  10. ,opn.is_return AS is_return
  11. ,opn.is_lost AS is_lost
  12. -- 199 - Недостача по заказу ,200, 201 - недостача по ТОРГ-12
  13. ,IF(opd.defects_binds_id IN (199,200,201),0, IF(opd.defects_binds_id IS NULL, opn.in_stock, 1)) AS is_stock
  14. ,IF(opd.defects_binds_id IN (199,200,201),1, 0) AS is_shortage
  15. ,IF(opd.defects_binds_id IS NULL, 0, IF(opd.defects_binds_id IN (199,200,201), 0, IF(IFNULL(dm.defects_mistakes_status, 2) = 2,1,0))) AS is_defects
  16. ,IF(opd.defects_binds_id IS NULL, opn.in_stock, 1) AS is_marking
  17. ,IF(IFNULL(dm.defects_mistakes_status, 2) = 2,opd.defects_binds_id, NULL) AS defects_binds_id
  18. ,IF(opd.defects_binds_id IS NOT NULL AND IFNULL(dm.defects_mistakes_status, 2) = 2,opd.defect_source, NULL) AS defect_source
  19. ,IF(opd.defects_binds_id IS NOT NULL AND IFNULL(dm.defects_mistakes_status, 2) = 2,d.defects_name, NULL) AS defects_name
  20. ,IFNULL(opn_1.products_id,opn.products_id) AS products_id
  21. ,opn.products_id AS current_products_id
  22. ,IFNULL(opn_1.products_attributes_id,opn.products_attributes_id) AS products_attributes_id
  23. ,opn.products_attributes_id AS current_products_attributes_id
  24. ,opn.products_price AS products_price
  25. ,IFNULL(opn_1.products_categories_id,opn.products_categories_id) AS categories_id
  26. ,opn.products_categories_id AS current_categories_id
  27. ,opn.orders_products_id AS orders_products_id
  28. ,opn.INDEX
  29.  
  30. FROM orders_products_new AS opn
  31. LEFT JOIN categories AS c ON opn.products_categories_id = c.categories_id
  32. LEFT JOIN orders_products_defects AS opd ON opd.orders_products_id = opn.id AND opd.is_deleted = 'N'
  33. LEFT JOIN defects_mistakes AS dm ON opd.orders_products_defects_id = dm.orders_products_defects_id
  34. LEFT JOIN defects_binds AS db ON db.defects_binds_id = opd.defects_binds_id
  35. LEFT JOIN defects AS d ON db.defects_id = d.defects_id
  36.  
  37.  
  38. LEFT JOIN orders_products_stock_binds AS opsb_x ON opsb_x.orders_products_id = opn.id  AND c.is_stock = 1
  39. LEFT JOIN orders_products_stock_binds AS opsb_1 ON opsb_1.orders_products_stock_bind_id = opsb_x.orders_products_stock_bind_min_id
  40. LEFT JOIN orders_products_new AS opn_1 ON opn_1.id = opsb_1.old_orders_products_id
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement