Explorar o código

vw_stock 에 매장재고 연동

eskim %!s(int64=5) %!d(string=hai) anos
pai
achega
190e39a667
Modificáronse 1 ficheiros con 22 adicións e 21 borrados
  1. 22 21
      산출물/3.설계/05.DB-Object/01.db_view/VW_STOCK.sql

+ 22 - 21
산출물/3.설계/05.DB-Object/01.db_view/VW_STOCK.sql

@@ -1,41 +1,42 @@
+DROP VIEW VW_STOCK;
 CREATE VIEW VW_STOCK AS
     SELECT
         A.GOODS_CD,
         A.OPT_CD,
-		A.OPT_CD1,
-		A.OPT_CD2,
+        A.OPT_CD1,
+        A.OPT_CD2,
         A.CURR_STOCK_QTY,
         0 AS BASE_STOCK_QTY,
         A.SOLDOUT_YN,
         A.DISP_ORD,
-		A.DISP_YN
+        A.DISP_YN
     FROM
         (
             SELECT
                 S.GOODS_CD,
                 S.OPT_CD,
                 S.OPT_CD1,
-				S.OPT_CD2,
-                GREATEST(GREATEST(S.CURR_STOCK_QTY - S.BASE_STOCK_QTY, 0) - IFNULL(SQ.STOCK_QTY, 0), 0) AS CURR_STOCK_QTY,
+                S.OPT_CD2,
+                GREATEST(GREATEST((GREATEST(S.CURR_STOCK_QTY,0) + GREATEST(S.STORE_STOCK_QTY,0)) - S.BASE_STOCK_QTY, 0) - IFNULL(SQ.STOCK_QTY, 0), 0) AS CURR_STOCK_QTY,
                 S.SOLDOUT_YN,
                 S.DISP_ORD,
-				S.DISP_YN
+                S.DISP_YN
             FROM
                 TB_OPTION S
                 LEFT OUTER JOIN(
-		                    SELECT 
-		                        Z.GOODS_CD,
-		                        Z.OPT_CD,
-		                        SUM((CASE Z.SELL_GB WHEN '10' THEN 1
-		                                              WHEN '20' THEN 1
-				                                      ELSE -1 END) * Z.SELL_QTY) AS STOCK_QTY
-		                    FROM
-		                        TB_SELL_QTY Z
-		                    GROUP BY
-		                        Z.GOODS_CD, Z.OPT_CD
-		                ) SQ
-						ON (
-						    S.GOODS_CD = SQ.GOODS_CD
-							AND S.OPT_CD = SQ.OPT_CD
-						)
+                            SELECT 
+                                Z.GOODS_CD,
+                                Z.OPT_CD,
+                                SUM((CASE Z.SELL_GB WHEN '10' THEN 1
+                                                      WHEN '20' THEN 1
+                                                      ELSE -1 END) * Z.SELL_QTY) AS STOCK_QTY
+                            FROM
+                                TB_SELL_QTY Z
+                            GROUP BY
+                                Z.GOODS_CD, Z.OPT_CD
+                        ) SQ
+                        ON (
+                            S.GOODS_CD = SQ.GOODS_CD
+                            AND S.OPT_CD = SQ.OPT_CD
+                        )
         ) A