If what you're trying to do is select results from your child BU you're running the query in, don't use the "ENT" schema. The way to refer to the "_Sent" data view specific to the Business Unit you're running the query in is "_Sent" and not "ENT._Sent". You' don't need AccountID or OYBAccountID in your WHERE clause.
From your description of you challenge, the primary problem you have is you have a "Customers" data extension that contains what should be the Business Unit's subscribers. However, from time to time you manually upload ad-hoc "Lists" and send to these lists, so you can no longer rely on your Customers data extension as the single source of truth for who are the subscribers in your Business Unit. When you send to one of these ad-hoc lists, records are added to All Subscribers, but All Subscribers is not specific to your Business Unit. Rather, All Subscribers contains subscribers from all Business Units in the Enterprise 2.0 account.
One approach would be to treat all Subscribers you have sent to in _Sent as subscribers of your Business Unit and take these together with your Customers Data Extension records as your total population. To do this, you'll need an automation with two queries - one to amass subscribers in _Sent together with those in Customers and the second to summmarise this data. One query could do this, but these are pretty slow running queries across potentially very large data sets.
Overwrites a table called "DistinctSubscribers" that has two fields - Email (Text 254).
s.EmailAddress AS Email
_Sent snt WITH (NOLOCK) INNER JOIN
ON snt.SubscriberID = sub.SubscriberID
Customers WITH (NOLOCK)
Email LIKE ('%@%.%')
This gives you a table containing one record for each email address in either Customers or _Sent.
Overwrites a table called "DomainCounts" that has two fields - Domain (Text 254) and DomainCount (Number).
SELECT TOP 10
RIGHT(Email, LEN(Email) - CHARINDEX('@', email)) AS Domain,
COUNT(1) AS DomainCount
RIGHT(Email, LEN(Email) - CHARINDEX('@', email))
ORDER BY COUNT(1) DESC
All Subscribers is a view that is shared by all Business Units in your account. A Subscriber added to All Subscribers in Business Unit A will typically be visible in the version of the the view visible in Business Units B and C along with all the profile attributes populated in Business Unit A.
The Status field in each Business Unit (the field that determines mailability and is updated through unsubscription) is a little more complex and is specific to each Business Unit. Depending on the Business Unit's settings, you can specify whether unsubscription should apply to just the current Business Unit or to all Business Units. The setting can be found in "Email -> Admin -> Business Units".
There's a deprecated feature called Business Unit Filters that used to allow you to select just a subset of All Subscribers that may be visible in a particular Business Unit. Few accounts have this feature available these days.
You'll find that access to All Subscribers is frequently blocked in many accounts to disallow users from Business Unit A from seeing Subscribers from Business Unit B.
And likewise, there's a permission to disallow viewing of All Contacts in Contact Builder
Assuming you are using data extensions -
Create your two business units - A and B. Define a Subscriber Filter, if you want to limit the All Subscribers lists in each business unit. You will need to Subscriber Filter using a define Profile Attribute.
At your Parent business unit, create your 'Master Data Extension' i.e. the DE that will contain all data for A and B.
Create two folders in Shared Data Extensions and set necessary sharing permissions for : Business Unit A Business Unit B
Copy/Create your Data Extension structure from the Master Data Extension - 1 copy for each business unit and store these in the Shared DE folder.
Create 2 SQL statements (Add to Automation studio) to select from the Master Data Extension, using criteria of selection for which Business Unit's data extension you want to import into. Save your results into the Data Extensions.
When you go into each business unit, you should then see under Shared Data Extensions the data extensions (and its data) relevant to that business unit.
If you have configured the Subscriber Filter correctly, then when you send to the data extension, the records get added to All Subscribers and based on the Subscriber Filter (profiled it's correct in your data extension) the All Subscribers list will then only show subscribers for that business unit.