Reputation: 47
Is there a way to re-write this SELECT query to avoid error? Whenever I run the query below, I get this error message: "An expression of non-boolean type specified in a context where a condition is expected, near ';'. Incorrect syntax near 'LoanAmountGroup'. Incorrect syntax near 'LoanAmountGroupOrder'."
SELECT DISTINCT
CASE WHEN LoanAmnt & lt; = 100000 THEN 'Less Than $100k'
WHEN LoanAmnt BETWEEN 100000 AND 200000 THEN '$100k to $200k'
WHEN LoanAmnt & gt;200000 THEN 'More Than $200k'
END LoanAmntGroup,
CASE WHEN LoanAmnt & lt; = 100000 THEN 1
WHEN LoanAmnt BETWEEN 100000 AND 200000 THEN 2
WHEN LoanAmnt & gt; 200000 THEN 3
END LoanAmntGroupOrder
FROM dbo.Fact_Finance
ORDER BY LoanAmntGroupOrder
I am using SQL Manager
Upvotes: 1
Views: 161
Reputation: 8892
ou need to remove the & lt;
with <
and & gt;
for >
in your query.You can try your query like this,
SELECT DISTINCT
CASE WHEN LoanAmnt <= 100000 THEN 'Less Than $100k'
WHEN LoanAmnt BETWEEN 100000 AND 200000 THEN '$100k to $200k'
WHEN LoanAmnt > 200000 THEN 'More Than $200k'
END LoanAmntGroup,
CASE WHEN LoanAmnt <= 100000 THEN 1
WHEN LoanAmnt BETWEEN 100000 AND 200000 THEN 2
WHEN LoanAmnt > 200000 THEN 3
END LoanAmntGroupOrder
FROM dbo.Fact_Finance
ORDER BY LoanAmntGroupOrder
Upvotes: 2