from table1, table2" or the "update table1 from table2" structure. But yes, thanks for catching that typo in the SET clause." />
![]() |
|
Archives of the TeradataForumMessage Posted: Tue, 29 Jul 2008 @ 12:57:25 GMT
Hi all, Table1 = rpt_member Table2 = rpt_update_temp The query returns the same results whether I use the "update <alias> from table1, table2" or the "update table1 from table2" structure. But yes, thanks for catching that typo in the SET clause. The rpt_member_id field is the PI and is defined as not null on both tables. But just to be safe, I verified that the counts for both queries below return 0. Table def for RPT_MEMBER:
CREATE SET TABLE rpt_member ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
RPT_MEMBER_ID DECIMAL(12,0) NOT NULL GENERATED ALWAYS AS IDENTITY
(START WITH 1
INCREMENT BY 1
MINVALUE -999999999999
MAXVALUE 999999999999
NO CYCLE),
....
CONSUMER_COUNT INTEGER NOT NULL DEFAULT 0 ,
CREATE_TMS TIMESTAMP(6) NOT NULL,
CREATE_USER_ID VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL,
UPDATE_TMS TIMESTAMP(6) NOT NULL,
UPDATE_USER_ID VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL)
PRIMARY INDEX ( RPT_MEMBER_ID );
Table def for RPT_UPDATE_TEMP
CREATE SET TABLE rpt_member ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
RPT_MEMBER_ID DECIMAL(12,0) NOT NULL ,
CONSUMER_COUNT INTEGER NOT NULL DEFAULT 0)
PRIMARY INDEX ( RPT_MEMBER_ID );
I pulled back records from rpt_member where the rpt_member_id was not in rpt_update_temp:
SELECT rpt_member_id
FROM rpt_member
WHERE rpt_member_id NOT IN
(SELECT rpt_member_id FROM rpt_update_temp GROUP BY 1)
AND CONSUMER_COUNT>0
GROUP BY 1
-- The CONSUMER_COUNT > 0 is meant to eliminate rows in rpt_member that I -- know will not have a corresponding rpt_update_temp record. But every rpt_member_id resulting from this query has shown to be in rpt_update_temp when I query table2 for the table1_id directly. I sampled the first few rpt_member_ids, but can see that they are present in the rpt_update_temp table e.g.
select * from rpt_update_temp where
rpt_member_id in
(326,
387,
427,
448,
469,
488,
509);
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||