34 lines
687 B
Prolog
34 lines
687 B
Prolog
LeftRec := RECORD
|
|
UNSIGNED1 Age;
|
|
STRING6 Name;
|
|
END;
|
|
|
|
LeftFile := DATASET([{27,'Jonah'},{18,'Alan'},{28,'Glory'},{18,'Popeye'},{28,'Alan'}],LeftRec);
|
|
|
|
RightRec := RECORD
|
|
STRING6 Name;
|
|
STRING7 Nemesis;
|
|
END;
|
|
|
|
RightFile := DATASET([{'Jonah','Whales'},{'Jonah','Spiders'},{'Alan','Ghosts'},{'Alan','Zombies'},{'Glory','Buffy'}],
|
|
RightRec);
|
|
|
|
HashJoin := JOIN(LeftFile,RightFile,Left.Name = RIGHT.Name,HASH);
|
|
|
|
HashJoin;
|
|
|
|
|
|
//The HASH JOIN is built-in to the ECL JOIN by using the HASH JOIN Flag
|
|
|
|
/*
|
|
OUTPUT:
|
|
Age Name Nemesis
|
|
18 Alan Ghosts
|
|
18 Alan Zombies
|
|
28 Alan Ghosts
|
|
28 Alan Zombies
|
|
28 Glory Buffy
|
|
27 Jonah Whales
|
|
27 Jonah Spiders
|
|
*/
|