blob: d53bc4619c4f96d3c3ab5ba2aecb8b4f638641f2 [file] [log] [blame]
AUTOCOMMIT OFF;
-- MODULE DML059
-- SQL Test Suite, V6.0, Interactive SQL, dml059.sql
-- 59-byte ID
-- TEd Version #
-- AUTHORIZATION HU
set schema HU;
--0 SELECT USER FROM HU.ECCO;
VALUES USER;
-- RERUN if USER value does not match preceding AUTHORIZATION comment
-- date_time print
-- TEST:0257 SELECT MAX, MIN (COL1 + or - COL2)!
-- setup
INSERT INTO VTABLE
VALUES(10,11,12,13,15);
-- PASS:0257 If 1 row is inserted?
-- setup
INSERT INTO VTABLE
VALUES(100,111,1112,113,115);
-- PASS:0257 If 1 row is inserted?
SELECT COL1, MAX(COL2 + COL3), MIN(COL3 - COL2)
FROM VTABLE
GROUP BY COL1
ORDER BY COL1;
-- PASS:0257 If 4 rows are selected in order with values:?
-- PASS:0257 ( 0, 3, 1) ?
-- PASS:0257 ( 10, 50, 1)?
-- PASS:0257 ( 100, 1223, 100)?
-- PASS:0257 ( 1000, 1000, 5000)?
-- restore
ROLLBACK WORK;
-- END TEST >>> 0257 <<< END TEST
-- *********************************************************************
-- TEST:0258 SELECT SUM(2*COL1*COL2) in HAVING SUM(COL2*COL3)!
-- setup
INSERT INTO VTABLE
VALUES (10,11,12,13,15);
-- PASS:0258 if 1 row is inserted?
-- setup
INSERT INTO VTABLE
VALUES (100,111,1112,113,115);
-- PASS:0258 if 1 row is inserted ?
SELECT COL1,SUM(2 * COL2 * COL3)
FROM VTABLE
GROUP BY COL1
HAVING SUM(COL2 * COL3) > 2000
OR SUM(COL2 * COL3) < -2000
ORDER BY COL1;
-- PASS:0258 If 2 rows are selected?
-- PASS:0258 If first row has values (100, 366864) ?
-- PASS:0258 If second row has values (1000, -12000000) ?
-- restore
ROLLBACK WORK;
-- END TEST >>> 0258 <<< END TEST
-- *********************************************************************
-- TEST:0259 SOME, ANY in HAVING clause!
-- setup
INSERT INTO VTABLE
VALUES(10,11,12,13,15);
-- PASS:0259 If 1 row is inserted?
-- setup
INSERT INTO VTABLE
VALUES(100,111,1112,113,115);
-- PASS:0259 If 1 row is inserted?
SELECT COL1, MAX(COL2)
FROM VTABLE
GROUP BY COL1
HAVING MAX(COL2) > ANY (SELECT GRADE FROM STAFF)
AND MAX(COL2) < SOME (SELECT HOURS FROM WORKS)
ORDER BY COL1;
-- PASS:0259 If 1 row is selected and COL1 = 10 and MAX(COL2) = 20?
-- restore
ROLLBACK WORK;
-- END TEST >>> 0259 <<< END TEST
-- *******************************************************************
-- TEST:0260 EXISTS in HAVING clause!
-- setup
INSERT INTO VTABLE
VALUES(10,11,12,13,15);
-- PASS:0260 If 1 row is inserted?
-- setup
INSERT INTO VTABLE
VALUES(100,111,1112,113,115);
-- PASS:0260 If 1 row is inserted?
SELECT COL1, MAX(COL2)
FROM VTABLE
GROUP BY COL1
HAVING EXISTS (SELECT *
FROM STAFF
WHERE EMPNUM = 'E1')
AND MAX(COL2) BETWEEN 10 AND 90
ORDER BY COL1;
-- PASS:0260 If 1 row is selected and COL1 = 10 and MAX(COL2) = 20?
-- restore
ROLLBACK WORK;
-- END TEST >>> 0260 <<< END TEST
-- ******************************************************************
-- TEST:0264 WHERE, HAVING without GROUP BY!
SELECT SUM(COL1)
FROM VTABLE
WHERE 10 + COL1 > COL2
HAVING MAX(COL1) > 100;
-- PASS:0264 If SUM(COL1) = 1000?
SELECT SUM(COL1)
FROM VTABLE
WHERE 1000 + COL1 >= COL2
HAVING MAX(COL1) > 100;
-- PASS:0264 If SUM(COL1) = 1110?
-- END TEST >>> 0264 <<< END TEST
-- *************************************************////END-OF-MODULE