PRECEDES Example 2 - Teradata Vantage

Teradata® VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Vantage
Published
January 2023
Language
English (United States)
Last Update
2024-04-03
dita:mapPath
phg1621910019905.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
phg1621910019905

Assume in the employee table, created by the following CREATE TABLE statement, jobdur1 and jobdur2 are derived period columns.

CREATE TABLE employee (
   eid INTEGER NOT NULL, 
   name VARCHAR(100) NOT NULL,
   deptno INTEGER NOT NULL,
   jobst1 DATE NOT NULL,
   jobend1   DATE NOT NULL,
   PERIOD FOR jobdur1(jobst1, jobend1),
   jobst2 DATE NOT NULL,
   jobend2   DATE NOT NULL,
   PERIOD FOR jobdur2(jobst2, jobend2)
   ) PRIMARY INDEX(eid);
EID Name Dept No JobSt1 JobEnd1 JobSt2 JobEnd2
1 Tom 101 DATE'2001-01-01' DATE'2004-01-01' DATE'2005-01-01' DATE'2006-01-01'
2 Rick 201 DATE'2005-01-01' DATE'2006-01-01' DATE'2001-01-01' DATE'2004-01-01'
3 Joo 301 DATE'2005-01-01' DATE'2006-01-01' DATE'2006-01-01' DATE'2007-01-01'
4 Tam 401 DATE'2001-01-01' DATE'2006-01-01' DATE'2002-01-01' DATE'2004-01-01'
5 Pat 501 DATE'2005-01-01' DATE'2007-01-01' DATE'2006-01-01' DATE'2008-01-01'
6 Jack 601 DATE'2005-01-01' DATE'2007-01-01' DATE'2007-01-01' DATE'2008-01-01'
7 Yu 701 DATE'2005-01-01' DATE'2007-01-01' DATE'2004-01-01' DATE'2005-01-01'
8 Tim 801 DATE'2005-01-01' DATE'2007-01-01' DATE'2005-01-01' DATE'2007-01-01'

In the following SQL statement, PRECEDES is used with derived period columns of the employee table:

SELECT eid, name, jobst1, jobend1, jobst2, jobend2 
FROM employee 
WHERE jobdur1 PRECEDES jobdur2;

The result is:

EID Name Dept No JobSt1 JobEnd1 JobSt2 JobEnd2
1 Tom 101 DATE'2001-01-01' DATE'2004-01-01' DATE'2005-01-01' DATE'2006-01-01'
3 Joo 301 DATE'2005-01-01' DATE'2006-01-01' DATE'2006-01-01' DATE'2007-01-01'
6 Jack 601 DATE'2005-01-01' DATE'2007-01-01' DATE'2007-01-01' DATE'2008-01-01'