Based on the clarification in the comments, I'm going to refine your requirements:
You will have two time periods you are comparing. Sometimes it will be "two weeks ago" vs "one week ago". Sometimes it will be "yesterday" vs "today". In either case, you want the "Difference" table to contain entries where [field1 field2 field3] appears only in the more recent window (e.g. "one week ago" or "today" in the two cases described above) and not in the older window. You do not want it to contain entries where [field1 field2 field3] appears only in the older window.
To find the "Difference" table as described, you should run your base search over the last two weeks, thus collecting all events. Then use stats to count similar events and compare their earliest seen time to the earliest date of the more recent window, and finally filter based on the number of times a duplicate event was seen and when it was first seen. In the following example, I will compare events for the last 2 weeks.
your base search that collects all events over the last two weeks
| stats earliest(_time) AS _time count by field1, field2, field3
| where count=1 AND _time>=relative_time(now(), "-14d@d")
| fields - count _time
You can use this same approach to find the events for the "Equals" table but this time filter for events | where count>1 and also compare both the earliest seen time and the latest seen time to ensure there was an event int each of the two time windows:
your base search that collects all events over the last two weeks
| stats earliest(_time) AS earliest_time latest(_time) AS latest_time count by field1, field2, field3
| where count>1 AND earliest_time<=relative_time(now(), "-14d@d") AND latest_time>relative_time(now(), "-14d@d")
| fields - count earliest_time latest_time
If you want to compare only yesterday and today, you can replace instances of relative_time(now(), "-14d@d") with relative_time(now(), "@d") to specify the breaking point between "yesterday" and "today".
... View more