2024-05-10 08:01:46 +00:00
|
|
|
ALTER TABLE bs.waste ADD buyerFk int(10) unsigned NOT NULL;
|
2024-07-19 13:34:32 +00:00
|
|
|
USE vn;
|
2024-07-19 12:29:20 +00:00
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tBuyers
|
|
|
|
ENGINE = MEMORY
|
|
|
|
WITH tDistinctBuyers AS (
|
|
|
|
SELECT DISTINCT buyer
|
|
|
|
FROM bs.waste w
|
|
|
|
)
|
|
|
|
SELECT buyer, u.id
|
|
|
|
FROM tDistinctBuyers tdb
|
2024-07-19 13:34:32 +00:00
|
|
|
JOIN account.`user` u ON u.name = tdb.buyer COLLATE utf8mb3_unicode_ci;
|
2024-07-19 12:29:20 +00:00
|
|
|
|
2024-05-10 08:01:46 +00:00
|
|
|
UPDATE bs.waste w
|
2024-07-19 12:29:20 +00:00
|
|
|
JOIN tBuyers tb ON tb.buyer = w.buyer
|
|
|
|
SET w.buyerFk = tb.id;
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE tBuyers;
|
2024-05-10 08:01:46 +00:00
|
|
|
|
|
|
|
ALTER TABLE bs.waste
|
|
|
|
DROP PRIMARY KEY,
|
|
|
|
DROP COLUMN family,
|
|
|
|
DROP COLUMN rate,
|
|
|
|
DROP COLUMN buyer;
|
|
|
|
|
|
|
|
ALTER TABLE bs.waste CHANGE buyerFk buyerFk int(10) unsigned NOT NULL AFTER `week`;
|
|
|
|
ALTER TABLE bs.waste ADD CONSTRAINT waste_user_FK FOREIGN KEY (buyerFk) REFERENCES account.user(id) ON DELETE RESTRICT ON UPDATE RESTRICT;
|
|
|
|
ALTER TABLE bs.waste ADD saleQuantity int(11) DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE bs.waste MODIFY COLUMN saleTotal decimal(10,2) DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE bs.waste MODIFY COLUMN saleWaste decimal(10,2) DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE bs.waste CHANGE saleWaste saleInternalWaste decimal(10,2) DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE bs.waste ADD saleExternalWaste decimal(10,2) DEFAULT NULL NULL;
|
|
|
|
ALTER TABLE bs.waste CHANGE saleQuantity saleQuantity decimal(10,2) DEFAULT NULL NULL AFTER itemTypeFk;
|
|
|
|
ALTER TABLE bs.waste CHANGE itemFk itemFk int(11) DEFAULT 0 NOT NULL AFTER itemTypeFk;
|
2024-07-19 13:00:13 +00:00
|
|
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tWasteUnique
|
|
|
|
SELECT *
|
|
|
|
FROM bs.waste
|
|
|
|
GROUP BY `year`, `week`, buyerFk, itemTypeFk, itemFk
|
|
|
|
HAVING COUNT(*) > 1;
|
|
|
|
|
|
|
|
DELETE w.* FROM bs.waste w
|
|
|
|
JOIN tWasteUnique twu ON twu.`year` = w.`year`
|
|
|
|
AND twu.`week` = w.`week`
|
|
|
|
AND twu.`buyerFk` = w.`buyerFk`
|
|
|
|
AND twu.`itemTypeFk` = w.`itemTypeFk`
|
|
|
|
AND twu.`itemFk` = w.`itemFk`;
|
|
|
|
|
|
|
|
INSERT INTO bs.waste
|
|
|
|
SELECT * FROM tWasteUnique;
|
|
|
|
|
|
|
|
ALTER TABLE bs.waste ADD CONSTRAINT waste_pk PRIMARY KEY (`year`, `week`, buyerFk, itemTypeFk, itemFk);
|
|
|
|
|
2024-07-19 13:34:32 +00:00
|
|
|
DROP TEMPORARY TABLE tWasteUnique;
|