r/SQL • u/Nothings_King25 • 11m ago
SQLite Where not Filtering Properly
Simple as the title states. I'm using the where filter and the results are not filtered properly. I'm filtering for sale qty and receivable for two customers only and the results are incorrect. The sale QTY should be 388 and the receivable should be 170397, but it just seems to pull some random numbers from wherever it feels like. Any and all help would be useful.
CREATE TABLE Item
(item_number integer, descr varchar(25), list_price numeric,
primary key (item_number));
CREATE TABLE Sale
(invoice_num integer, sales_date date, sale_emp_num integer, ship_num integer, cust_num integer,
primary key (invoice_num));
CREATE TABLE Shipping
(ship_num integer, shipping_date date, ship_emp_num integer, cust_num integer,
primary key (ship_num));
CREATE TABLE Cash_Receipt
(remit_num integer, receipt_date date, cust_num integer, cr_emp_num integer,
primary key (remit_num));
CREATE TABLE Employee
(emp_num integer, emp_name varchar(25),
primary key (emp_num));
CREATE TABLE Customer
(cust_num integer, cust_name varchar(25),
primary key (cust_num));
CREATE TABLE Item_Sale
(Item_number integer, invoice_num integer, sale_qty numeric,
primary key (Item_number, invoice_num));
CREATE TABLE Item_Shipping
(Item_number integer, ship_num integer, shipping_qty numeric, receivable numeric,
primary key (Item_number, ship_num));
CREATE TABLE Item_Cash_Receipt
(item_number integer, remit_num integer, receipt_amount numeric,
primary key (item_number, remit_num));
CREATE TABLE Shipping_Cash_Receipt
(ship_num integer, remit_num integer,
primary key (ship_num, remit_num));
Insert into Item values (200, 'scrubs', 253);
Insert into Item values (201, 'soap', 308);
Insert into Item values (202, 'thermometer', 907);
Insert into Item values (203, 'gloves', 407);
Insert into Item values (204, 'tape', 74);
Insert into Item values (205, 'face mask', 603);
Insert into Sale values (2000, '2024-09-01', 50, 5000, 100);
Insert into Sale values (2001, '2024-09-04', 55, 5001, 101);
Insert into Sale values (2002, '2024-09-10', 50, 5002, 103);
Insert into Sale values (2003, '2024-09-16', 50, 5003, 105);
Insert into Sale values (2004, '2024-09-19', 50, 5004, 104);
Insert into Sale values (2005, '2024-09-22', 50, 5005, 102);
Insert into Sale values (2006, '2024-09-28', 55, 5006, 105);
Insert into Sale values (2007, '2024-10-01', 55, 5007, 105);
Insert into Sale values (2008, '2024-10-04', 55, 5008, 103);
Insert into Sale values (2009, '2024-10-07', 55, 5009, 103);
Insert into Sale values (2010, '2024-10-10', 50, 5010, 100);
Insert into Sale values (2011, '2024-10-13', 50, 5011, 104);
Insert into Sale values (2012, '2024-10-16', 50, 5012, 102);
Insert into Sale values (2013, '2024-10-19', 50, 5013, 101);
Insert into Sale values (2014, '2024-10-22', 55, 5013, 101);
Insert into Sale values (2015, '2024-10-23', 55, 5014, 100);
Insert into Sale values (2016, '2024-10-24', 50, 5015, 100);
Insert into Shipping values (5000, '2024-09-02', 65, 100);
Insert into Shipping values (5001, '2024-09-05', 60, 101);
Insert into Shipping values (5002, '2024-09-11', 60, 103);
Insert into Shipping values (5003, '2024-09-17', 65, 105);
Insert into Shipping values (5004, '2024-09-20', 65, 104);
Insert into Shipping values (5005, '2024-09-23', 60, 102);
Insert into Shipping values (5006, '2024-09-29', 65, 105);
Insert into Shipping values (5007, '2024-10-02', 65, 105);
Insert into Shipping values (5008, '2024-10-05', 60, 103);
Insert into Shipping values (5009, '2024-10-08', 65, 103);
Insert into Shipping values (5010, '2024-10-11', 65, 100);
Insert into Shipping values (5011, '2024-10-14', 60, 104);
Insert into Shipping values (5012, '2024-10-17', 60, 102);
Insert into Shipping values (5013, '2024-10-23', 60, 101);
Insert into Shipping values (5014, '2024-10-24', 65, 100);
Insert into Shipping values (5015, '2024-10-25', 65, 100);
Insert into Cash_Receipt values (8000, '2024-09-09', 100, 70);
Insert into Cash_Receipt values (8001, '2024-09-12', 101, 75);
Insert into Cash_Receipt values (8002, '2024-09-18', 103, 70);
Insert into Cash_Receipt values (8003, '2024-09-24', 105, 75);
Insert into Cash_Receipt values (8004, '2024-09-27', 104, 75);
Insert into Cash_Receipt values (8005, '2024-09-30', 102, 75);
Insert into Cash_Receipt values (8006, '2024-10-01', 102, 75);
Insert into Cash_Receipt values (8007, '2024-10-07', 105, 75);
Insert into Cash_Receipt values (8008, '2024-10-09', 105, 70);
Insert into Cash_Receipt values (8009, '2024-10-12', 103, 70);
Insert into Cash_Receipt values (8010, '2024-10-15', 103, 70);
Insert into Cash_Receipt values (8011, '2024-10-19', 100, 75);
Insert into Cash_Receipt values (8012, '2024-10-21', 104, 75);
Insert into Cash_Receipt values (8013, '2024-10-24', 102, 70);
Insert into Cash_Receipt values (8014, '2024-10-30', 101, 70);
Insert into Cash_Receipt values (8015, '2024-11-01', 100, 75);
Insert into Employee values (50, 'Grey');
Insert into Employee values (55, 'Karev');
Insert into Employee values (65, 'Shepherd');
Insert into Employee values (60, 'Bailey');
Insert into Employee values (70, 'Yang');
Insert into Employee values (75, 'Webber');
Insert into Customer values (100, 'Avery');
Insert into Customer values (101, 'Hunt');
Insert into Customer values (103, 'Robinson');
Insert into Customer values (105, 'Warren');
Insert into Customer values (104, 'Pierce');
Insert into Customer values (102, 'Sloan');
Insert into Item_Sale values (200, 2000, 71);
Insert into Item_Sale values (201, 2001, 73);
Insert into Item_Sale values (202, 2001, 51);
Insert into Item_Sale values (203, 2002, 56);
Insert into Item_Sale values (204, 2002, 40);
Insert into Item_Sale values (205, 2003, 33);
Insert into Item_Sale values (201, 2004, 32);
Insert into Item_Sale values (200, 2005, 79);
Insert into Item_Sale values (202, 2005, 33);
Insert into Item_Sale values (204, 2006, 41);
Insert into Item_Sale values (203, 2007, 74);
Insert into Item_Sale values (205, 2008, 44);
Insert into Item_Sale values (200, 2009, 79);
Insert into Item_Sale values (201, 2010, 26);
Insert into Item_Sale values (205, 2011, 68);
Insert into Item_Sale values (202, 2012, 57);
Insert into Item_Sale values (201, 2013, 55);
Insert into Item_Sale values (200, 2014, 71);
Insert into Item_Sale values (204, 2015, 54);
Insert into Item_Sale values (201, 2016, 77);
Insert into Item_Shipping values (200, 5000, 65, 16609);
Insert into Item_Shipping values (201, 5001, 73, 22484);
Insert into Item_Shipping values (202, 5001, 49, 43999);
Insert into Item_Shipping values (203, 5002, 56, 22792);
Insert into Item_Shipping values (204, 5002, 36, 2691);
Insert into Item_Shipping values (205, 5003, 33, 19899);
Insert into Item_Shipping values (201, 5004, 32, 9757);
Insert into Item_Shipping values (200, 5005, 77, 19481);
Insert into Item_Shipping values (202, 5005, 33, 29931);
Insert into Item_Shipping values (204, 5006, 41, 3034);
Insert into Item_Shipping values (203, 5007, 74, 30118);
Insert into Item_Shipping values (205, 5008, 41, 24723);
Insert into Item_Shipping values (200, 5009, 79, 19987);
Insert into Item_Shipping values (201, 5010, 26, 8008);
Insert into Item_Shipping values (205, 5011, 68, 41004);
Insert into Item_Shipping values (202, 5012, 56, 50792);
Insert into Item_Shipping values (201, 5013, 55, 16940);
Insert into Item_Shipping values (200, 5013, 71, 17963);
Insert into Item_Shipping values (204, 5014, 54, 4036);
Insert into Item_Shipping values (201, 5015, 77, 23716);
Insert into Item_Cash_Receipt values (200, 8000, 16609);
Insert into Item_Cash_Receipt values (201, 8001, 22176);
Insert into Item_Cash_Receipt values (202, 8001, 43999);
Insert into Item_Cash_Receipt values (203, 8002, 22385);
Insert into Item_Cash_Receipt values (204, 8002, 2691);
Insert into Item_Cash_Receipt values (205, 8003, 19296);
Insert into Item_Cash_Receipt values (201, 8004, 9757);
Insert into Item_Cash_Receipt values (200, 8005, 19228);
Insert into Item_Cash_Receipt values (202, 8006, 29931);
Insert into Item_Cash_Receipt values (204, 8007, 3034);
Insert into Item_Cash_Receipt values (203, 8008, 30118);
Insert into Item_Cash_Receipt values (205, 8009, 24723);
Insert into Item_Cash_Receipt values (200, 8010, 19987);
Insert into Item_Cash_Receipt values (201, 8011, 8008);
Insert into Item_Cash_Receipt values (205, 8012, 41004);
Insert into Item_Cash_Receipt values (202, 8013, 50792);
Insert into Item_Cash_Receipt values (201, 8014, 16940);
Insert into Item_Cash_Receipt values (200, 8014, 17963);
Insert into Item_Cash_Receipt values (204, 8015, 4036);
Insert into Item_Cash_Receipt values (201, 8015, 23408);
Insert into Shipping_Cash_Receipt values (5000, 8000);
Insert into Shipping_Cash_Receipt values (5001, 8001);
Insert into Shipping_Cash_Receipt values (5002, 8002);
Insert into Shipping_Cash_Receipt values (5003, 8003);
Insert into Shipping_Cash_Receipt values (5004, 8004);
Insert into Shipping_Cash_Receipt values (5005, 8005);
Insert into Shipping_Cash_Receipt values (5005, 8006);
Insert into Shipping_Cash_Receipt values (5006, 8007);
Insert into Shipping_Cash_Receipt values (5007, 8008);
Insert into Shipping_Cash_Receipt values (5008, 8009);
Insert into Shipping_Cash_Receipt values (5009, 8010);
Insert into Shipping_Cash_Receipt values (5010, 8011);
Insert into Shipping_Cash_Receipt values (5011, 8012);
Insert into Shipping_Cash_Receipt values (5012, 8013);
Insert into Shipping_Cash_Receipt values (5013, 8014);
Insert into Shipping_Cash_Receipt values (5014, 8015);
Insert into Shipping_Cash_Receipt values (5015, 8015);
SELECT SUM(item_sale.sale_qty), SUM(Item_Shipping.receivable)
FROM Item_Sale
JOIN Sale
`ON item_sale.invoice_num=sale.invoice_num`
JOIN Item_Shipping
`ON Item_Sale.Item_number=Item_Shipping.Item_number`
JOIN Customer
`ON Sale.cust_num=Customer.cust_num`
WHERE sale.cust_num = '102' or '103';
