I'm currently working on a functionality that involves view with huge dataset in Appian and I am planning to replace it with record relationship. I have a situation where I'm using a left join with a table and implementing a self-join with three conditions using the AND operator.
Here's the view that I want to replace.
SELECT `snapFrom`.`id` AS `id`, `snapFrom`.`material` AS `material`, CAST( `snapFrom`.`FCFinalTotal` AS DOUBLE ) AS `FCFinalTotalFrom`, CAST(`snapTo`.`FCFinalTotal` AS DOUBLE) AS `FCFinalTotalTo`, `snapFrom`.`snapshot` AS `snapFrom`, `snapTo`.`snapshot` AS `snapTo`, `snapTo`.`FCFinalTotal` - `snapFrom`.`FCFinalTotal` AS `diffValue`, CONCAT( SUBSTRING_INDEX(`snapFrom`.`calWeek`, '.', -1), '.', SUBSTRING_INDEX(`snapFrom`.`calWeek`, '.', 1) ) AS `calWeek`, `m`.`basecode` AS `baseCode`FROM ( ( `Appian`.`SOE_STAGING_FORECAST_WEEKLY` `snapFrom` LEFT JOIN `Appian`.`SOE_STAGING_FORECAST_WEEKLY` `snapTo` ON ( `snapFrom`.`calWeek` = `snapTo`.`calWeek` AND `snapFrom`.`material` = `snapTo`.`material` AND `snapFrom`.`companyCode` = `snapTo`.`companyCode` ) ) LEFT JOIN `Appian`.`SOE_MaterialMasterData` `m` ON ( `m`.`material` = `snapFrom`.`material` AND `m`.`companyCode` = `snapFrom`.`companyCode` ) )WHERE `m`.`basecode` IS NOT NULL
I have created three records and established the relationship, but i am struggling to add join condition, can someone advice how we can add these join conditions.
Discussion posts and replies are publicly visible
Just pasting the view code and expecting us to reverse engineer its purpose will probably not work.
I suggest to first get a clear understanding of what you want to achieve with that view. Then think about whether you even need that in Appian and how to make best use of related records.
E.g. that cast in line 4 is something you will not need in Appian.
And then