我有以下SQL腳本:更換多個創建只是一個SELECT語句中VIEW - MySQL的
CREATE OR REPLACE ALGORITHM=UNDEFINED VIEW `day0` AS
SELECT `c`.`customerId` AS `CustomerID`,SUM(`t`.`orderTotal`) AS `Day0`,
`t`.`dateOfSale` AS `DateOfSale`,`c`.`initialDateOfSale` AS `InitialDateOfSale`
FROM `customer` `c` LEFT JOIN
`transaction` `t`
on `t`.`customerId` = `c`.`customerId`
where `t`.`status` = 2 and `t`.`dateOfSale` <= DATE_ADD(`c`.`initialDateOfSale`, interval 1 day)
GROUP BY `c`.`customerId';
CREATE OR REPLACE ALGORITHM=UNDEFINED VIEW `day30` AS
SELECT `c`.`customerId` AS `CustomerID`,SUM(`t`.`orderTotal`) AS `Day30`,
`t`.`dateOfSale` AS `DateOfSale`,`c`.`initialDateOfSale` AS `InitialDateOfSale`
FROM `customer` `c` LEFT JOIN
`transaction` `t`
on `t`.`customerId` = `c`.`customerId`
where `t`.`status` = 2 and `t`.`dateOfSale` <= DATE_ADD(`c`.`initialDateOfSale`, interval 30 day)
GROUP BY `c`.`customerId`;
CREATE OR REPLACE ALGORITHM=UNDEFINED VIEW `day60` AS
SELECT `c`.`customerId` AS `CustomerID`,SUM(`t`.`orderTotal`) AS `Day60`,
`t`.`dateOfSale` AS `DateOfSale`,`c`.`initialDateOfSale` AS `InitialDateOfSale`
FROM `customer` `c` LEFT JOIN
`transaction` `t`
on `t`.`customerId` = `c`.`customerId`
where `t`.`status` = 2 and `t`.`dateOfSale` <= DATE_ADD(`c`.`initialDateOfSale`, interval 60 day)
GROUP BY `c`.`customerId`;
SELECT day0.customerid,day0.day0, day30.day30, day60.day60,
FROM day0, day30, day60,
WHERE day0.customerid=day0.customerid and day0.customerid=day30.customerid and
day0.customerid=day60.customerid
反正是有取代只有一個選擇多個CREATE VIEW語句,而無需創建數據庫中新視圖/表?除此之外,最終用戶不具備CREATE VIEW特權。
謝謝
Oikif
如果你格式化了代碼,它會有所幫助。作爲提示:當你在每行上至少有四個空格時,它們看起來像是代碼。 –
對不起!修復它 – user3348092