| 12345678910111213141516171819202122232425262728293031 |
- IF OBJECT_ID ('dbo.CustomerData','V') IS NOT NULL DROP VIEW dbo.CustomerData
- GO
- CREATE VIEW dbo.CustomerData
- AS
- SELECT b.CompanyID,
- b.BAccountID as SurrogateBAKey,
- b.AcctCD as CustomerID,
- b.AcctName as CustomerName,
- p.AcctCD as ParentAccountID,
- bke.ValueString as OwnerID,
- count(children.BAccountID) as CountOfChildrenAccounts,
- STRING_AGG(children.AcctCD, ', ') AS ChildrenIDList,
- CAST(CASE
- WHEN COUNT(children.BAccountID) > 0 THEN 1
- ELSE 0
- END AS BIT) AS IsParent,
- CAST(CASE
- WHEN MAX(CASE WHEN b.ParentBAccountID IS NOT NULL THEN 1 ELSE 0 END) = 1 THEN 1
- ELSE 0
- END AS BIT) AS IsChild
- From BAccount b
- left JOIN BAccount p on p.CompanyID = b.CompanyID and p.BAccountID = b.ParentBAccountID
- LEFT join BAccount children on children.CompanyID = b.CompanyID and b.BAccountID = children.ParentBAccountID and b.[type] = children.[type]
- LEFT JOIN BAccountKvExt bke ON bke.CompanyID = b.CompanyID AND bke.RecordID = b.NoteID AND bke.FieldName = 'AttributeOWNER'
- where b.[type] = 'CU'
- group by b.CompanyID,
- b.BAccountID,
- b.AcctCD,
- b.AcctName,
- p.AcctCD,
- bke.ValueString
|