Advertisement
naimul64

Update_Daily_Txn_Status

Apr 8th, 2018
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.52 KB | None | 0 0
  1. UPDATE
  2. -- SELECT *
  3. -- FROM
  4.   (SELECT l.responseTime, trnxCode, srcAC, SUM(CASE WHEN originalTxnId IS NULL THEN amount ELSE -amount END ) total
  5.      , SUM(CASE WHEN originalTxnId IS NULL THEN 1 ELSE -1 END ) count
  6. FROM profino.sc_user_temp_profile p
  7. INNER JOIN profino.sc_transaction_log l ON p.userName = l.srcAC
  8.   WHERE l.trnxCode IN (10, 10510, 10511)
  9.   AND date(l.responseTime) BETWEEN '2017-05-01' AND '2017-05-31'
  10. AND p.distributorWallet = '016161040403'
  11. GROUP BY date(responseTime), trnxCode, srcAC) log
  12. LEFT JOIN profino.sc_daily_txn_status st
  13.     ON log.srcAC = st.wallet
  14. AND log.trnxCode = st.txnCode
  15. AND date(log.responseTime) = date(st.currentDate)
  16.   AND date(st.currentDate) BETWEEN '2017-05-01' AND '2017-05-31'
  17. SET st.totalDebit = log.total,
  18.   st.totalTxnNumber = log.count
  19. ;
  20.  
  21. UPDATE
  22. -- SELECT *
  23. -- FROM
  24.   (SELECT l.responseTime, trnxCode, srcAC, SUM(CASE WHEN originalTxnId IS NULL THEN amount ELSE -amount END ) total
  25.      , SUM(CASE WHEN originalTxnId IS NULL THEN 1 ELSE -1 END ) count
  26. FROM profino.sc_user_temp_profile p
  27. INNER JOIN profino.sc_transaction_log l ON p.userName = l.srcAC
  28.   WHERE l.trnxCode IN (107,10701,10702)
  29.   AND date(l.responseTime) BETWEEN '2017-05-01' AND '2017-05-31'
  30. AND p.distributorWallet = '016161040403'
  31. GROUP BY date(responseTime), trnxCode, srcAC) log
  32. LEFT JOIN profino.sc_daily_txn_status st
  33.     ON log.srcAC = st.wallet
  34. AND log.trnxCode = st.txnCode
  35. AND date(log.responseTime) = date(st.currentDate)
  36.   AND date(st.currentDate) BETWEEN '2017-05-01' AND '2017-05-31'
  37. SET st.totalDebit = log.total,
  38.   st.totalTxnNumber = log.count
  39. ;
  40.  
  41.  
  42. INSERT INTO profino.sc_daily_txn_status (id, wallet, currentDate, txnCode, totalDebit, totalTxnNumber)
  43. SELECT concat(date(log.responseTime), '-',log.srcAC, '-', txnCode), log.srcAC, date(log.responseTime), log.trnxCode, log.total, log.count
  44. FROM
  45.   (SELECT l.responseTime, trnxCode, srcAC, SUM(CASE WHEN originalTxnId IS NULL THEN amount ELSE -amount END ) total
  46.      , SUM(CASE WHEN originalTxnId IS NULL THEN 1 ELSE -1 END ) count
  47. FROM profino.sc_user_temp_profile p
  48. INNER JOIN profino.sc_transaction_log l ON p.userName = l.srcAC
  49.   WHERE l.trnxCode IN (10,10510,10511)
  50.   AND date(l.responseTime) BETWEEN '2017-05-01' AND '2017-05-31'
  51. AND p.distributorWallet = '016161040403'
  52. GROUP BY date(responseTime), trnxCode, srcAC) log
  53. LEFT OUTER JOIN profino.sc_daily_txn_status st
  54.     ON log.srcAC = st.wallet
  55. AND log.trnxCode = st.txnCode
  56. AND date(log.responseTime) = date(st.currentDate)
  57.   AND date(st.currentDate) BETWEEN '2017-05-01' AND '2017-05-31'
  58. WHERE st.id IS NULL
  59. ;
  60.  
  61.  
  62. INSERT INTO profino.sc_daily_txn_status (id, wallet, currentDate, txnCode, totalDebit, totalTxnNumber)
  63. SELECT concat(date(log.responseTime), '-',log.srcAC, '-', txnCode), log.srcAC, date(log.responseTime), log.trnxCode, log.total, log.count
  64. FROM
  65.   (SELECT l.responseTime, trnxCode, srcAC, SUM(CASE WHEN originalTxnId IS NULL THEN amount ELSE -amount END ) total
  66.      , SUM(CASE WHEN originalTxnId IS NULL THEN 1 ELSE -1 END ) count
  67. FROM profino.sc_user_temp_profile p
  68. INNER JOIN profino.sc_transaction_log l ON p.userName = l.srcAC
  69.   WHERE l.trnxCode IN (107,10701,10702)
  70.   AND date(l.responseTime) BETWEEN '2017-05-01' AND '2017-05-31'
  71. AND p.distributorWallet = '016161040403'
  72. GROUP BY date(responseTime), trnxCode, srcAC) log
  73. LEFT OUTER JOIN profino.sc_daily_txn_status st
  74.     ON log.srcAC = st.wallet
  75. AND log.trnxCode = st.txnCode
  76. AND date(log.responseTime) = date(st.currentDate)
  77.   AND date(st.currentDate) BETWEEN '2017-05-01' AND '2017-05-31'
  78. WHERE st.id IS NULL
  79. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement