Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE `users` (
- `id` INT(10) NOT NULL AUTO_INCREMENT UNIQUE,
- `name` VARCHAR(16) NOT NULL,
- `password` VARCHAR(15) NOT NULL,
- `email` VARCHAR(255) NOT NULL UNIQUE,
- `balance` DECIMAL(10,2),
- `created_at` TIMESTAMP NOT NULL,
- PRIMARY KEY (`id`)
- );
- CREATE TABLE `user_deposits` (
- `id` INT(10) NOT NULL AUTO_INCREMENT,
- `user_id` INT NOT NULL,
- `value` DECIMAL(10,2) NOT NULL,
- `created_at` DATETIME NOT NULL,
- PRIMARY KEY (`id`)
- );
- CREATE TABLE `withdrawals` (
- `id` INT(10) NOT NULL AUTO_INCREMENT,
- `user_id` INT NOT NULL,
- `value` DECIMAL(10,2) NOT NULL,
- `created_at` DATETIME NOT NULL,
- PRIMARY KEY (`id`)
- );
- CREATE TABLE `transfers` (
- `id` INT(10) NOT NULL AUTO_INCREMENT,
- `value` DECIMAL(10,2) NOT NULL,
- `created_at` TIMESTAMP NOT NULL,
- `user_made` INT NOT NULL,
- `user_receive` INT NOT NULL,
- PRIMARY KEY (`id`)
- );
- ALTER TABLE `user_deposits` ADD CONSTRAINT `user_deposits_fk0` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`);
- ALTER TABLE `withdrawals` ADD CONSTRAINT `withdrawals_fk0` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`);
- ALTER TABLE `transfers` ADD CONSTRAINT `transfers_fk0` FOREIGN KEY (`user_made`) REFERENCES `users`(`id`);
- ALTER TABLE `transfers` ADD CONSTRAINT `transfers_fk1` FOREIGN KEY (`user_receive`) REFERENCES `users`(`id`);
- INSERT INTO users (name, password, email, balance, created_at) VALUES ('Rodrigo', 123456, 'rods.eduardo@gmail.com', 500.00, 01-05-2018);
- INSERT INTO users (name, password, email, balance, created_at) VALUES ('Eduardo', 123456, 'eduardo@gmail.com', 400.00, 02-05-2018);
- INSERT INTO users (name, password, email, balance, created_at) VALUES ('Mendes', 123456, 'mendes@gmail.com', 300.00, 03-05-2018);
- INSERT INTO users (name, password, email, balance, created_at) VALUES ('Paulo', 123456, 'paulo@gmail.com', 200.00, 04-05-2018);
- INSERT INTO users (name, password, email, balance, created_at) VALUES ('Sergio', 123456, 'sergio@gmail.com', 100.00, 05-05-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (1, 200.00, 01-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (1, 150.00, 01-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (1, 180.00, 01-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (1, 210.00, 01-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (2, 179.00, 02-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (2, 321.00, 02-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (2, 111.00, 02-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (2, 34.00, 02-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (3, 345.00, 03-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (3, 98.00, 03-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (3, 165.00, 03-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (3, 76.00, 03-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (4, 12.00, 04-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (4, 34.00, 04-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (4, 54.00, 04-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (4, 66.00, 04-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (5, 34.00, 05-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (5, 52.00, 05-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (5, 65.00, 05-04-2018);
- INSERT INTO user_deposits (user_id, VALUE, created_at) VALUES (5, 45.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (1, 100.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (1, 145.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (2, 245.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (2, 125.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (3, 135.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (3, 145.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (4, 175.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (4, 125.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (5, 76.00, 05-04-2018);
- INSERT INTO withdrawals (user_id, VALUE, created_at) VALUES (5, 87.00, 05-04-2018);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (87.00, 04-04-2018, 1, 2);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (88.00, 03-04-2018, 1, 3);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (89.00, 03-04-2018, 2, 1);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (82.00, 04-04-2018, 2, 4);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (83.00, 03-04-2018, 3, 5);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (77.00, 04-04-2018, 3, 4);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (67.00, 05-04-2018, 4, 1);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (87.00, 05-04-2018, 4, 2);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (47.00, 05-04-2018, 5, 3);
- INSERT INTO transfers (VALUE, created_at, user_made, user_receive) VALUES (23.00, 05-04-2018, 5, 2);
- UPDATE users SET users.balance = balance + (SELECT COUNT(balance) FROM user_deposits WHERE id = 1) WHERE id = 1;
- UPDATE users SET users.balance = balance + (SELECT COUNT(balance) FROM withdrawals WHERE id = 1) WHERE id = 1;
- UPDATE users SET users.balance = balance + (SELECT COUNT(balance) FROM transfers WHERE id = 1) WHERE id = 1;
- (SELECT COUNT(balance) FROM user_deposits WHERE id = 1 + SELECT COUNT(balance) FROM withdrawals WHERE id = 1 + SELECT COUNT(balance) FROM transfers WHERE id = 1) = SELECT balance FROM users WHERE id = 1;
- SELECT MAX(VALUE) AS BiggerValueD FROM user_deposits;
- SELECT MAX(VALUE) AS BiggerValueW FROM withdrawals;
- SELECT MAX(VALUE) AS BiggerValueT FROM transfers;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement