By help from this community I've been able to do a query, that return all that did not open an email campaign into a sendable data extension. So far, so good.
select distinct s.subscriberKey, sub.EmailAddress from _Sent s INNER JOIN _Subscribers sub ON s.SubscriberKey = sub.SubscriberKey where s.JobID = 4792224 and s.SubscriberKey IS NOT NULL and s.SubscriberKey NOT IN ( SELECT o.SubscriberKey FROM _Open o WHERE o.JobID = s.JobID AND o.SubscriberKey = s.SubscriberKey )
The query run smoothly, when I run it on JobID 4792224 which is a test send to 9 subscribers only. But the amount of subscribers in our marketing sends vary from 10K to 95K and trying querying one of the bigger sends (JobID: 4793094) the query always times-out (after 30 minutes). I know the query times out, as I've tested it in an automation.
I've tried replacing IS NOT NULL with != null and the automation did complete (on JobID: 4792224), but did not return any subscribers in my data extension. I've also tried removing this line and s.SubscriberKey IS NOT NULL but then again the result was a time out after 30 minutes of the automation holding my query.
So, I'm really not sure what to do. I have a query that runs fine on JobIDs with a small amount of subscribers, even though it uses the IS NOT NULL expression, that is adviced not to be used. But using it on bigger sends, or replacing or even removing the IS NOT NULL expression leaves me with empty data extensions or queries that time out.
Any idea on what I should try now? Thank you