Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.34 KB | None | 0 0
  1. // NOMER 2
  2. CREATE VIEW view_produk
  3. AS
  4. SELECT p.id, p.nama AS nama_produk, p.harga AS harga, k.nama AS kategori
  5. FROM PRODUK AS p
  6. INNER JOIN kategori AS k ON p.id_kategori = k.id
  7.  
  8. SELECT * FROM view_produk;
  9.  
  10. // NOMER 3
  11.  
  12. CREATE VIEW penjualan_produk
  13. AS
  14. SELECT nama_produk, harga_satuan, SUM(jumlah), harga_satuan * SUM(jumlah) AS total_pendapatan FROM belanjaan GROUP BY nama_produk
  15.  
  16. SELECT * FROM penjualan_produk;
  17.  
  18. // NOMER 4
  19.  
  20. CREATE VIEW jumlah_belanja_pembeli
  21. AS
  22. SELECT nama_pembeli, COUNT(nama_pembeli), SUM(total) FROM struk GROUP BY nama_pembeli
  23.  
  24. SELECT * FROM jumlah_belanja_pembeli
  25.  
  26. // NOMER 5
  27.  
  28. SELECT npwp, nama, total, total * 0.1 AS ppn FROM (
  29.     SELECT
  30.             a.npwp, a.nama, s.total
  31.     FROM
  32.             admin_toko AS a
  33.     INNER JOIN struk AS s ON
  34.             a.id = s.id_admin
  35. ) GROUP BY nama ORDER BY total DESC LIMIT 1;
  36.  
  37. // NOMER 6
  38.  
  39. SELECT id, nama, harga AS harga_satuan, SUM(jumlah) AS total_penjualan, harga * SUM(jumlah) AS total_pendapatan FROM (
  40.     SELECT
  41.             p.id, p.nama, p.harga, b.jumlah
  42.     FROM
  43.             produk AS p
  44.     INNER JOIN belanjaan AS b ON
  45.             p.id = b.id_produk
  46. ) GROUP BY nama ORDER BY total_penjualan DESC LIMIT 1;
  47.  
  48. // NOMER 7
  49. SELECT nama_pembeli, COUNT(nama_pembeli) AS jumlah_belanja, SUM(total) AS total_pembelanjaan FROM (
  50.     SELECT
  51.             *
  52.     FROM struk
  53. ) GROUP BY nama_pembeli ORDER BY jumlah_belanja DESC LIMIT 1;  
  54.  
  55. // nomer 8
  56.  
  57. CREATE TRIGGER pengurangan_stock_produk_update
  58.     AFTER INSERT ON belanjaan
  59. BEGIN
  60.     UPDATE produk SET stock = stock - NEW.jumlah WHERE id = NEW.id_produk;
  61. END
  62.  
  63. INSERT INTO belanjaan ("id", "id_produk", "nama_produk", "jumlah", "harga_satuan", "total_bayar", "id_struk") VALUES (10, 2, 'Sticker Wajah', 100, '400000', 4000, '5')
  64.  
  65. SELECT * FROM PRODUK
  66.  
  67. // nomer 9
  68.  
  69. CREATE TRIGGER log_perubahan_harga_produk
  70.     AFTER UPDATE ON produk
  71. BEGIN
  72.     INSERT INTO histori_harga_produk(nama_produk, tanggal_perubahan, harga_awal, harga_akhir)
  73.     VALUES (NEW.nama_produk, NOW(), OLD.harga, NEW.harga);
  74. END
  75.  
  76. // nomer 10
  77.  
  78. CREATE TRIGGER hitung_subtotal_keranjang
  79.     AFTER INSERT ON belanjaan
  80. BEGIN
  81.     UPDATE belanjaan SET total_bayar = NEW.jumlah * NEW.harga_satuan WHERE id_produk;
  82. END
  83.  
  84. // nomer 11
  85.  
  86. CREATE TRIGGER update_penghasilan
  87.     AFTER INSERT ON struk
  88. BEGIN
  89.     UPDATE admin_toko SET total_pendapatan = total_pendapatan + NEW.total, total_ppn = total_ppn + (NEW.total * 0.1)
  90.     WHERE id = NEW.id_admin;
  91. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement