Advertisement
KyOOOO

Untitled

Aug 27th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.02 KB | None | 0 0
  1. DECLARE @gt TABLE
  2. (
  3. value DECIMAL(23, 8),
  4. item NVARCHAR(50),
  5. qty DECIMAL(23, 8)
  6. );
  7. INSERT INTO @gt
  8.  
  9.  
  10. --- giá trị( ĐẦU KÌ + nhập trong - xuất trong kì) / số lượng
  11.  
  12. SELECT SUM(a.VALUE),
  13. a.item, --, SUM(TT)
  14. SUM(qty)
  15. FROM
  16. (
  17. SELECT CASE
  18. WHEN SUM(qty) <> 0 THEN
  19. (SUM(ISNULL(TON, 0) + ISNULL(N, 0) + ISNULL(X, 0)) / SUM(qty)) * SUM(C) -- * -- * SUM(C)
  20. ELSE
  21. 0
  22. END VALUE, --AS decimal(28,7),
  23. A.item,
  24. SUM(qty) qty
  25. --,(SUM(TON + N + X) / SUM(qty)) TT
  26. FROM
  27. ( -- XUẤT
  28. SELECT 0.0 C,
  29. 0.0 N,
  30. (ISNULL(A.value, 0)) X,
  31. 0.0 TON,
  32. ISNULL(qty, 0) qty,
  33. A.item
  34. FROM
  35. (
  36. SELECT m.site_ref AS site,
  37. (m.item) item,
  38. SUM(ISNULL(m.qty, 0)) qty,
  39. SUM(ISNULL(qty, 0) * ISNULL(cost, 0)) value
  40. FROM ERP.SyteLine_Apps.dbo.matltran_mst m WITH (NOLOCK)
  41. --JOIN ERP.SyteLine_Apps.dbo.item_mst i WITH (NOLOCK)
  42. --ON i.item = m.item
  43. -- AND m.site_ref = i.site_ref
  44. WHERE MONTH(m.trans_date) = MONTH(('2019-08-01'))
  45. AND YEAR(m.trans_date) = 2019
  46. --AND i.product_code = 'pfg'
  47. -- AND LEFT(m.item, 2) IN ( 'AA', 'AC', 'AN' )
  48. AND m.whse = 'BTL'
  49. AND m.site_ref = 'PVD'
  50. AND m.loc IS NOT NULL
  51. AND m.qty < 0
  52. AND EXISTS ( SELECT 1
  53. FROM ERP.SyteLine_Apps.dbo.item_mst
  54. WHERE item = m.item
  55. AND product_code = 'PFG' )
  56. --AND (m.item) = 'AA184095C060N1100'
  57. GROUP BY (m.item),
  58. m.site_ref
  59. ) A
  60. WHERE A.qty <> 0
  61. UNION ALL
  62. SELECT 0.0 C,
  63. (ISNULL(A.value, 0)) N,
  64. 0.0 X,
  65. 0 TON,
  66. ISNULL(A.qty, 0) qty,
  67. A.item
  68. FROM
  69. ( -- NHẬP
  70. SELECT m.site_ref AS site,
  71. (m.item) item,
  72. SUM(ISNULL(m.qty, 0)) qty,
  73. SUM(ISNULL(qty, 0) * ISNULL(cost, 0)) value
  74. FROM ERP.SyteLine_Apps.dbo.matltran_mst m
  75. --JOIN ERP.SyteLine_Apps.dbo.item_mst i WITH (NOLOCK)
  76. -- ON i.item = m.item
  77. -- AND m.site_ref = i.site_ref
  78. WHERE MONTH(m.trans_date) = MONTH(('2019-08-01'))
  79. AND YEAR(m.trans_date) = 2019
  80. --AND i.product_code = 'pfg'
  81. AND m.whse = 'BTL'
  82. AND m.site_ref = 'PVD'
  83. AND m.loc IS NOT NULL
  84. AND m.qty > 0
  85. AND EXISTS ( SELECT 1
  86. FROM ERP.SyteLine_Apps.dbo.item_mst
  87. WHERE item = m.item
  88. AND product_code = 'PFG' )
  89. --AND (m.item) = 'AA184095C060N1100'
  90. GROUP BY (m.item),
  91. m.site_ref
  92. ) A
  93. WHERE A.qty <> 0
  94. UNION ALL
  95. SELECT 0 C,
  96. 0 N,
  97. 0 X,
  98. (ISNULL(A.value, 0)) TON,
  99. ISNULL(A.qty, 0) qty,
  100. A.item
  101. FROM
  102. ( -- ĐẦU KÌ
  103. SELECT m.site_ref AS site,
  104. (m.item) item,
  105. SUM(ISNULL(m.qty, 0)) qty,
  106. SUM(ISNULL(qty, 0) * ISNULL(cost, 0)) value
  107. FROM ERP.SyteLine_Apps.dbo.matltran_mst m
  108. --JOIN ERP.SyteLine_Apps.dbo.item_mst i WITH (NOLOCK)
  109. -- ON i.item = m.item
  110. -- AND m.site_ref = i.site_ref
  111. WHERE CAST(m.trans_date AS DATE) < ('2019-08-01')
  112. --AND i.product_code = 'pfg'
  113. AND m.whse = 'BTL'
  114. AND m.site_ref = 'PVD'
  115. AND m.loc IS NOT NULL
  116. AND m.qty <> 0
  117. AND EXISTS ( SELECT 1
  118. FROM ERP.SyteLine_Apps.dbo.item_mst
  119. WHERE item = m.item
  120. AND product_code = 'PFG' )
  121. --AND (m.item) = 'AA184095C060N1100'
  122. GROUP BY (m.item),
  123. m.site_ref
  124. ) A
  125. WHERE A.qty <> 0
  126. UNION ALL
  127. SELECT SUM(ISNULL(qty, 0)) C,
  128. 0 N,
  129. 0 X,
  130. 0 TON,
  131. 0 qty,
  132. A.item
  133. FROM
  134. (
  135. SELECT m.site_ref AS site,
  136. (m.item) item,
  137. SUM(ISNULL(m.qty, 0)) qty,
  138. SUM(ISNULL(qty, 0) * ISNULL(cost, 0)) value
  139. FROM ERP.SyteLine_Apps.dbo.matltran_mst m
  140. --JOIN ERP.SyteLine_Apps.dbo.item_mst i WITH (NOLOCK)
  141. -- ON i.item = m.item
  142. -- AND m.site_ref = i.site_ref
  143. WHERE CAST(m.trans_date AS DATE) <= ('2019-08-31')
  144. --AND i.product_code = 'pfg'
  145. AND m.whse = 'BTL'
  146. AND m.site_ref = 'PVD'
  147. AND m.loc IS NOT NULL
  148. AND m.qty <> 0
  149. AND EXISTS ( SELECT 1
  150. FROM ERP.SyteLine_Apps.dbo.item_mst
  151. WHERE item = m.item
  152. AND product_code = 'PFG' )
  153. --AND M.item ='AA184095C060N1100'
  154. GROUP BY (m.item),
  155. m.site_ref
  156. ) A
  157. WHERE A.qty <> 0
  158. GROUP BY A.item
  159. ) A
  160. -- WHERE value <>0
  161.  
  162. GROUP BY A.item
  163. ) a
  164. GROUP BY a.item;
  165.  
  166. --PRINT @gt
  167. --SET @gt= (@gt/2329) * 2329
  168. SELECT *
  169. FROM @gt;
  170. -- WHERE a.item='AA151028B050N1200'
  171. --WHERE a.VALUE <> 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement