SQL-CASE-WHEN STATEMENT- TASK
First of all we created the Source DE : Push_Case_When_DE
Target DE created Named : Push_CaseWhen_Target_DE
TASK : 1
1. Age Group Segmentation:
Query :
SELECT FirstName,
CASE
WHEN Age < 18 THEN 'Minor'
WHEN Age between 18 and 40 THEN 'Major'
ELSE 'Senior'
END AS AgeGroup
FROM Push_Case_When_DE
Result fetched with Column AgeGroup stating : Condition per Age group
Task 2
2. Engagement Level :
Query :
SELECT FirstName,
CASE
WHEN OpenCount > 10 THEN 'High'
WHEN OpenCount between 5 and 10 THEN 'Medium'
ELSE 'Low'
END AS Engagement
FROM Push_Case_When_DE
Result fetched with Column Engagement stating : OpenCount numbers Level
Task 3 :
3. Greeting :
Query :
SELECT FirstName,
CASE
WHEN Country = 'India' THEN 'Namaste'
WHEN Country = 'USA' THEN 'Hello'
ELSE 'Hi'
END AS [Greeting]
FROM Push_Case_When_DE
Result fetched with Column Greeting stating : Greetings as per Country
Task 4
Status Mapping:
SELECT FirstName,
CASE
WHEN Status = 'A' THEN 'Active'
WHEN Status = 'I' THEN 'Inactive'
ELSE 'Unknown'
END AS StatusLabel
FROM Push_Case_When_DE
Query :
Result fetched with Column StatusLabel stating : Active or Inactive Status
Task 5:
Purchase Segmentation
Query :
SELECT FirstName,
CASE
WHEN PurchaseAmount > 2000 THEN 'Premium'
WHEN PurchaseAmount BETWEEN 500 AND 2000 THEN 'Standard'
ELSE 'Low Value'
END AS CustomerType
FROM Push_Case_When_DE
Result fetched with Column StatusLabel stating : Active or Inactive Status
Task 6:
Re-engagement :
Query :
SELECT FirstName,
CASE
WHEN OpenCount = 0 THEN 'Re-engage'
ELSE 'Active User'
END AS CampaignType
FROM Push_Case_When_DE
Result fetched::: with Column CampaignType
Task 7 : Youth Campaign :
Query :
SELECT FirstName,
CASE
WHEN Age < 25 THEN 'Youth Campaign'
ELSE 'General Campaign'
END AS Campaign
FROM Push_Case_When_DE
Result : Column with Name - Campaign Returned with records
Task 8. VIP Segment
Query:
SELECT FirstName,
CASE
WHEN PurchaseAmount > 1000 AND OpenCount > 10 THEN 'VIP'
ELSE 'Normal'
END AS Segment
FROM Push_Case_When_DE
Task 9 : Email Strategy
Query:
SELECT FirstName,
CASE
WHEN OpenCount > 10 THEN 'Daily Emails'
WHEN OpenCount BETWEEN 5 AND 10 THEN 'Weekly Emails'
ELSE 'Monthly Emails'
END AS EmailStrategy
FROM Push_Case_When_DE
Result :
TASK : 10
Risk Identification
Query:
SELECT FirstName,
CASE
WHEN OpenCount < 3 AND PurchaseAmount < 500 THEN 'At Risk'
ELSE 'Safe'
END AS RiskLevel
FROM Push_Case_When_DE
Comments
Post a Comment