diff options
author | Sergei Golubchik <serg@mariadb.org> | 2016-12-09 16:33:48 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2016-12-09 16:33:48 +0100 |
commit | 3e8155c637096da8fd019c42b78746be2bf89944 (patch) | |
tree | 7df7880c789de7c32fdd76e862170322afe6117c /mysql-test/t/derived.test | |
parent | 106664f8e86d694a9898c3e564bb72290f221bd6 (diff) | |
parent | 03dabfa84d6bc9a8197c8d9fbe80f2a7f6a5b6ac (diff) | |
download | mariadb-git-3e8155c637096da8fd019c42b78746be2bf89944.tar.gz |
Merge branch '5.5' into 10.0
Diffstat (limited to 'mysql-test/t/derived.test')
-rw-r--r-- | mysql-test/t/derived.test | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test index a7739dcf8a7..b517dfd29d1 100644 --- a/mysql-test/t/derived.test +++ b/mysql-test/t/derived.test @@ -829,3 +829,50 @@ ORDER BY TOTAL DESC; DROP TABLES t1,t2; set optimizer_switch=@save_derived_optimizer_switch; + +--echo # +--echo # MDEV-10663: Use of Inline table columns in HAVING clause +--echo # throws 1463 Error +--echo # + +set @save_sql_mode = @@sql_mode; +set sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'; + +CREATE TABLE `example1463` ( + `Customer` varchar(255) NOT NULL, + `DeliveryStatus` varchar(255) NOT NULL, + `OrderSize` int(11) NOT NULL +); +INSERT INTO example1463 VALUES ('Charlie', 'Success', 100); +INSERT INTO example1463 VALUES ('David', 'Success', 110); +INSERT INTO example1463 VALUES ('Charlie', 'Failed', 200); +INSERT INTO example1463 VALUES ('David', 'Success', 100); +INSERT INTO example1463 VALUES ('David', 'Unknown', 100); +INSERT INTO example1463 VALUES ('Edward', 'Success', 150); +INSERT INTO example1463 VALUES ('Edward', 'Pending', 150); + +SELECT Customer, Success, SUM(OrderSize) + FROM (SELECT Customer, + CASE WHEN DeliveryStatus='Success' THEN 'Yes' ELSE 'No' END AS Success, + OrderSize + FROM example1463) as subQ + GROUP BY Success, Customer + WITH ROLLUP; +SELECT Customer, Success, SUM(OrderSize) + FROM (SELECT Customer, + CASE WHEN DeliveryStatus='Success' THEN 'Yes' ELSE 'No' END AS Success, + OrderSize + FROM example1463) as subQ + GROUP BY Success, Customer; +SELECT Customer, Success, SUM(OrderSize) + FROM (SELECT Customer, + CASE WHEN DeliveryStatus='Success' THEN 'Yes' ELSE 'No' END AS Success, + OrderSize + FROM example1463) as subQ + GROUP BY Success, Customer + HAVING Success IS NOT NULL; + +DROP TABLE example1463; +set sql_mode= @save_sql_mode; + +--echo # end of 5.5 |