Guest User

Untitled

a guest
Jun 1st, 2018
1,654
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 12.23 KB | None | 0 0
  1. /*1.  Crear cuentas para VISA y Master con 50 y 80 millones respectivamente*/
  2.  
  3. INSERT INTO `cuentas` (`id_cuenta`, `numero`, `saldo`, `id_cliente`) VALUES
  4.   (5,'005',50000000.000,5),
  5.   (6,'006',80000000.000,6);
  6.  
  7. COMMIT;
  8.  
  9.  
  10. /*2.  Adicionar un atributo clasificación a cada transacción para saber si es ingreso o egreso, actualizarlo al valor que le corresponda*/
  11.  
  12. UPDATE
  13.   `transacciones`
  14. SET
  15.   `transacciones`.`data` = JSON_SET(`transacciones`.`data`, '$.clasificacion', 'ingreso')
  16. WHERE
  17.   `transacciones`.`id_tipo` = 1 ;
  18. commit;
  19.  
  20. UPDATE
  21.   `transacciones`
  22. SET
  23.   `transacciones`.`data` = JSON_SET(`transacciones`.`data`, '$.clasificacion', 'egreso')
  24. WHERE
  25.   `transacciones`.`id_tipo` = 2 or `transacciones`.`id_tipo`= 3  or `transacciones`.`id_tipo`= 4;
  26. commit;
  27.  
  28.  
  29. /*3.  Consignación del salario para pedro por $1.950.000*/
  30.  
  31. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  32.   (default,CURDATE(),'{ "comentario":"Consignación", "detalle":"Pago de salario" }',1,1950000,1);
  33. COMMIT;
  34.  
  35. /*4. Consignación en efectivo para María en sucursal Terra Plaza por $600.000, realizada por Juan Perez, cedula 76.346.890
  36. */
  37.  
  38. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  39.   (default,CURDATE(),'{
  40.  "comentario":"Consignación",
  41.  "detalle":"Pago  en efectivo",
  42.  "ciudad":"Popayán",
  43.  "sucursal":{"lugar":"Terra Plaza", "ubicacion":{"x": 2.4868081, "y": -76.5625747}},
  44.  "realiza":{"nombre":"Juan Perez", "cedula":"76346890"}
  45. }
  46. ',3,600000,1);
  47. COMMIT;
  48.  
  49. /*5. Consignación en efectivo para Pedro en sucursal Terra Plaza por $400.000, realizada por Marcos Solarte, cedula 76.254.187
  50. */
  51.  
  52. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  53.   (default,CURDATE(),'{
  54.  "comentario":"Consignación",
  55.  "detalle":"Pago  en efectivo",
  56.  "ciudad":"Popayán",
  57.  "sucursal":{"lugar":"Terra Plaza", "ubicacion":{"x": 2.4868081, "y": -76.5625747}},
  58.  "realiza":{"nombre":"Marcos Solarte", "cedula":"76254187"}
  59. }
  60. ',3,400000,1);
  61. COMMIT;
  62.  
  63. /*6.  Consignación en efectivo para Pablo en sucursal Terra Plaza por $350.000, realizada por Andres Gomez, cedula 76.984.561*/
  64.  
  65. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  66.   (default,CURDATE(),'{
  67.  "comentario":"Consignación",
  68.  "detalle":"Pago  en efectivo",
  69.  "ciudad":"Popayán",
  70.  "sucursal":{"lugar":"Terra Plaza", "ubicacion":{"x": 2.4868081, "y": -76.5625747}},
  71.  "realiza":{"nombre":"Andres Gomez", "cedula":"76346890"}
  72. }
  73. ',2,350000,1);
  74. COMMIT;
  75.  
  76. /*7.  Pago de servicio de acueducto de María por $69.500*/
  77.  
  78. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  79.   (default,CURDATE(),'{
  80.  "comentario":"Pago",
  81.  "detalle":"Pago  en servicio de Acueducto",
  82.  "realiza":{"nombre":"Maria", "cuenta":"003"}
  83. }
  84. ',4,69500,4);
  85. COMMIT;
  86.  
  87. /*8.  Pago de tarjeta de crédito Visa de Pablo por valor de $200.000*/
  88.  
  89. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  90.   (default,CURDATE(),'{
  91.  "comentario":"Pago",
  92.  "detalle":"Pago de tarjeta de credito",
  93.  "realiza":{"nombre":"Pablo", "cuenta":"002"}
  94. }
  95. ',5,200000,4);
  96. COMMIT;
  97.  
  98. /*9.  Pago en restaurante por Pedro por valor de $35.000*/
  99.  
  100. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  101.   (default,CURDATE(),'{
  102.  "comentario":"Pago",
  103.  "detalle":"Pago  en restaurante",
  104.  "cuenta":{"numero":"1xxx", "titular":"Restaurate Petro"},
  105.  "realiza":{"nombre":"Pedro", "cuenta":"001"}
  106. }
  107. ',null,350000,4);
  108. COMMIT;
  109.  
  110. /*10.Retiro en cajero electrónico código ATM345, ubicado en Calle 5 con Cra 4 Popayán, por valor de $100.000, desde la cuenta 003*/
  111.  
  112. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  113.   (default,CURDATE(),'{
  114.  "comentario":"RETIRO",
  115.  "detalle":"Retiro en cajero electrónico",
  116.  "ciudad":"Popayán",
  117.  "retiro":{"medio":"cajero","cajero":{"tipo":"ATH", "codigo":"ATM345"}},
  118.  "sucursal":{"lugar":"Calle 5 con Cra 4", "ubicacion":{"x": 2.4410333, "y": -76.6070543}}
  119. }
  120. ',3,100000,2);
  121. COMMIT;
  122.  
  123. /*11. Retiro en cajero electrónico código ATM312, ubicado en Calle 8 con Cra 2 Popayán, por valor de $150.000, desde la cuenta 002*/
  124.  
  125. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  126.   (default,CURDATE(),'{
  127.  "comentario":"RETIRO",
  128.  "detalle":"Retiro en cajero electrónico",
  129.  "ciudad":"Popayán",
  130.  "retiro":{"medio":"cajero","cajero":{"tipo":"ATH", "codigo":"ATM312"}},
  131.  "sucursal":{"lugar":"Calle 8 con Cra 2", "ubicacion":{"x": 2.4374374, "y": -76.6056817}}
  132. }
  133. ',2,150000,2);
  134. COMMIT;
  135.  
  136. /*12.  Comisión  por uso de cajero de $1.800 por cada transacción*/
  137.  
  138. UPDATE
  139.   `transacciones`
  140. SET
  141.   `transacciones`.`data` = JSON_SET(`transacciones`.`data`, '$.comision', 1800)
  142. WHERE
  143.   `transacciones`.`data`->" $.retiro.medio" = 'cajero';
  144. commit;
  145.  
  146. /*13.  Pago de tarjeta de crédito Master de María por $80.000 desde la APP del banco, desde El Big Ben (https://goo.gl/maps/dTngDKcksNp)*/
  147.  
  148. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  149.   (default,CURDATE(),'{
  150.  "comentario":"Pago",
  151.  "detalle":"Pago de tarjeta de credito",
  152.  "medio":"APP del Banco",
  153.  "ubicacion":{"x": 51.5007029, "y": -0.1261358},
  154.  "realiza":{"nombre":"Maria", "cuenta":"003"}
  155. }
  156. ',6,80000,4);
  157. COMMIT;
  158.  
  159. /* 14.  Reversado de transacción con tarjeta VISA numero 1547, por valor de $125.000, para María */
  160.  
  161. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  162.   (default,CURDATE(),'{
  163.  "comentario":"Consignación",
  164.  "detalle":"Reversado de transacción con tarjeta VISA",
  165.  "transaccion":1547,
  166.  "realiza":{"nombre":"Franquicia VISA", "cuenta":"005"}
  167. }
  168. ',3,125000,1);
  169. COMMIT;
  170.  
  171. /*15.  Pago de intereses a las cuentas 001, 003 y 004 por valor de 0.01%*/
  172.  
  173. /*16.  Transferencia de $150.000 de pedro a pablo*/
  174.  
  175. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  176.   (default,CURDATE(),'{
  177.  "comentario":"TRANSFERENCIA",
  178.  "detalle":"Transferencia a cuentas del banco",
  179.  "realiza":{"nombre":"Pedro", "cuenta":"001"}
  180. }
  181. ',2,150000,3);
  182. COMMIT;
  183.  
  184. /*17.  Descuento de cuota de administración del mes de mayo de 2018 para todas las cuentas ($15.000)*/
  185.  
  186. /*18.  Consignación en cheque desde agilizador ubicado en campanario, por valor de $300.000 para la cuenta de María*/
  187.  
  188. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  189.   (default,CURDATE(),'{
  190.  "comentario":"Consignación",
  191.  "detalle":"Consignación en cheque",
  192.  "cheque":{"tipo":"deposito","numero":2546, "ciudad":"Popayan", "fecha":"2018-05-30"},
  193.  "realiza":{"nombre":"Usuario", "cedula":"1xxx"},
  194.  "medio":"Agilizador",
  195.  "origen":{"ciudad":"Popayan","lugar": "Centro comercial campanario","ubicacion":{"x": 2.4593543, "y": -76.5968831}}
  196. }
  197. ',3,300000,1);
  198. COMMIT;
  199.  
  200. /*19.  Pago de servicio de acueducto de Pedro por $80.500*/
  201.  
  202. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  203.   (default,CURDATE(),'{
  204.  "comentario":"Pago",
  205.  "detalle":"Pago  en servicio de Acueducto",
  206.  "realiza":{"nombre":"Pedro", "cuenta":"001"}
  207. }
  208. ',4,80500,4);
  209. COMMIT;
  210.  
  211. /* 20.  Pago de servicio de acueducto de Pablo por $105.000 */
  212.  
  213.  
  214. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  215.   (default,CURDATE(),'{
  216.  "comentario":"Pago",
  217.  "detalle":"Pago  en servicio de Acueducto",
  218.  "realiza":{"nombre":"Pablo", "cuenta":"002"}
  219. }
  220. ',4,105000,4);
  221. COMMIT;
  222.  
  223. /*21.  Consulta de saldo desde la APP del banco, de la cuenta de Pablo desde el centro de Medellín*/
  224.  
  225. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  226.   (default,CURDATE(),'{
  227.  "comentario":"Consulta",
  228.  "detalle":"Consulta de saldo",
  229.  "medio":"APP del Banco",
  230.  "origen":{"ciudad":"Medellin","lugar": "Centro","ubicacion":{"x": 6.226372, "y": -75.5917202}},
  231.  "realiza":{"nombre":"Pablo", "cuenta":"002"}
  232. }
  233. ',null,0,null);
  234. COMMIT;
  235.  
  236. /* 22.  Consulta de saldo desde cajero código ATM124 de la cuenta de Pedro desde el centro de Bogotá*/
  237.  
  238.  
  239. INSERT INTO `transacciones` (`id_transaccion`, `fecha_hora`, `data`, `id_cuenta`, `valor`, `id_tipo`) VALUES
  240.   (default,CURDATE(),'{
  241.  "comentario":"Consulta",
  242.  "detalle":"Consulta de saldo",
  243.  "retiro":{"medio":"cajero","cajero":{"tipo":"ATH", "codigo":"ATM124"}},
  244.  "origen":{"ciudad":"Bogota","lugar": "Centro","ubicacion":{"x": 4.6482837, "y": -74.2478938}},
  245.  "realiza":{"nombre":"Pedro", "cuenta":"001"}
  246. }
  247. ',null,0,null);
  248. COMMIT;
  249.  
  250. /*23.  Cobro de comisión por consulta de saldo $1.500*/
  251.  
  252. UPDATE
  253.   `transacciones`
  254. SET
  255.   `transacciones`.`data` = JSON_SET(`transacciones`.`data`, '$.comision', 1500)
  256. WHERE
  257.   `transacciones`.`data`->" $.comentario" = 'Consulta';
  258. commit;
  259.  
  260. /*CONSULTAS*/
  261. /*1. El total de ingresos y egreso en el día*/
  262.  
  263. SELECT
  264.  `transacciones`.`data`->"$.clasificacion" as Tipo,
  265. SUM(`transacciones`.`valor`) as Total
  266.  
  267. FROM
  268.   `transacciones`   where DATE(`transacciones`.`fecha_hora`)=CURDATE() and `transacciones`.`data`->"$.clasificacion" is not null
  269.   group by Tipo order by Total
  270.  
  271.  
  272. /*2. El saldo total de cada cuenta con su propietario*/
  273.  
  274. SELECT
  275.   `cliente`.`nombre`,
  276.   SUM(`cuentas`.`saldo`)+sum(`transacciones`.`valor`)  
  277. FROM
  278.   `cuentas`
  279.   INNER JOIN `cliente` ON (`cuentas`.`id_cliente` = `cliente`.`id_cliente`)
  280.   INNER JOIN `transacciones` ON (`cuentas`.`id_cuenta` = `transacciones`.`id_cuenta`) group by `cliente`.`nombre`
  281.  
  282. /*3. El total de dinero en el banco*/
  283.  
  284. SELECT
  285.  SUM((`cuentas`.`saldo`) +( SELECT
  286.  (SUM(`transacciones`.`valor`) + SUM(`transacciones`.`data`->"$.comision"))as T1 FROM `transacciones`))  as Total
  287. FROM
  288.   `cuentas`
  289.  
  290. /*4. El total de dinero que salió del banco*/
  291. SELECT
  292.  SUM(x.`valor`) as Total
  293. FROM `transacciones` x where x.`data`->"$.clasificacion" = 'egreso' and x.id_cuenta is null
  294.  
  295. /*5. El total pagado por comisiones*/
  296.  
  297. SELECT
  298.  SUM(x.`data`->"$.comision") as Comisiones
  299. FROM `transacciones` x
  300.  
  301.  
  302. /*6. El TOTAL a pagar por 4 por mil por consignaciones en cada cuenta*/
  303.  
  304.  
  305.  
  306.  
  307. /*7. Total de la transacciones realizadas en cajeros por cuenta*/
  308.  
  309. SELECT
  310.  COUNT(x.`valor`) as Consignaciones
  311. FROM `transacciones` x where x.`data`->"$.retiro.medio" = 'cajero'
  312.  
  313. /*8. Total de la transacciones realizadas en caja*/
  314.  
  315. SELECT
  316.  COUNT(x.`valor`) as Consignaciones
  317. FROM `transacciones` x where x.`data`->"$.detalle" = 'Pago  en efectivo'
  318.  
  319. /*9. Total de transacciones en cheque*/
  320.  
  321. SELECT
  322.  COUNT(x.`valor`) as Consignaciones
  323. FROM `transacciones` x where x.`data`->"$.detalle" = 'Consignación en cheque'
  324.  
  325. /*10.Total ingresado al acueducto*/
  326.  
  327.  
  328. SELECT
  329.   `cliente`.`nombre`,
  330.   sum(`transacciones`.`valor`)
  331. FROM
  332.   `cuentas`
  333.   INNER JOIN `cliente` ON (`cuentas`.`id_cliente` = `cliente`.`id_cliente`)
  334.   INNER JOIN `transacciones` ON (`cuentas`.`id_cuenta` = `transacciones`.`id_cuenta`) where `cliente`.`nombre`='Acueducto'
  335.  
  336.  
  337. /*11.Total pagado en tarjetas*/
  338.  
  339. SELECT
  340.  SUM(x.`valor`) as Total
  341. FROM `transacciones` x where x.`data`->"$.detalle" = 'Pago de tarjeta de credito'
  342.  
  343. /*12.Total pagado en salarios*/
  344.  
  345. SELECT
  346.  SUM(x.`valor`) as Total
  347. FROM `transacciones` x where x.`data`->"$.detalle" = 'Pago de salario'
  348.  
  349.  
  350. /*13.Listado de consignaciones discriminando efectivo y cheque*/
  351.  
  352. SELECT
  353.    x.`valor` as Total,
  354.    x.`data`->"$.detalle" as tipo
  355. FROM `transacciones` x where x.id_tipo=1  and (x.`data`->"$.detalle" = 'Pago  en efectivo' or x.`data`->"$.detalle" = 'Consignación en cheque') order by tipo
  356.  
  357. /*14.Mostrar una URL para acceder a la ubicación de las transacciones que la posean: ejemplo :   https://www.google.com/maps/search/?api=1&query=2.4593597,-76.5968831*/
  358. SELECT
  359.     x.`data`->"$.sucursal.lugar" as Lugar,
  360.    CONCAT('https://www.google.com/maps/search/?api=1&query=', x.`data`->"$.sucursal.ubicacion.x",',',x.`data`->"$.sucursal.ubicacion.y")  as ubicacion
  361.  
  362. FROM `transacciones` x where x.`data`->"$.sucursal.lugar" is not null
Advertisement
Add Comment
Please, Sign In to add comment