# Something wrong with my query- new to sql

SELECT eq.emp3,eq.wages,
CASE WHEN eq.ave_wages = 0 then '0'
WHEN eq.ave_wages between 0 AND 500 then '0-500'
WHEN eq.ave_wages between 501 and 1000 then '501-1000'
WHEN eq.ave_wages between 1001 and 1500 then '1001-1500'
WHEN eq.ave_wages between 1501 and 2000 then '1501-2000'
WHEN eq.ave_wages between 2001 and 2500 then '2001-2500'
WHEN eq.ave_wages between 2501 and 3000 then '2501-3000'
WHEN eq.ave_wages between 3001 and 3500 then '3001-3500'
WHEN eq.ave_wages between 3501 and 4000 then '3501-4000'
WHEN eq.ave_wages between 4001 and 4500 then '4001-4500'
WHEN eq.ave_wages between 4501 and 5000 then '4501-5000'
WHEN eq.ave_wages between 5001 and 5500 then '5001-5500'
WHEN eq.ave_wages between 5501 and 6000 then '5501-6000'
WHEN eq.ave_wages between 6001 and 6500 then '6001-6500'
WHEN eq.ave_wages between 6501 and 7000 then '6501-7000'
WHEN eq.ave_wages between 7001 and 7500 then '7001-7500'
WHEN eq.ave_wages >= 7500 then '7500+' end wage_range,
from
(select distinct eq.emp3,eq.wages, sum(eq.emp1)emp1,sum(eq.emp2)emp2,
sum(eq.emp3)emp3,sum(eq.wages)wages,round(avg(emp1 + emp2 + emp3)/wages) ave_wages
FROM b_owner._eqi eq
WHERE eq.yrqtr = 20181
and eq.meei != 2)

Any tips?

You have a few syntax errors, which I have fixed below. If the query does not give you the right results, the problem may be in the logic.

``````SELECT eq.emp3,
eq.wages,
CASE
WHEN eq.ave_wages = 0 THEN
'0'
WHEN eq.ave_wages
BETWEEN 0 AND 500 THEN
'0-500'
WHEN eq.ave_wages
BETWEEN 501 AND 1000 THEN
'501-1000'
WHEN eq.ave_wages
BETWEEN 1001 AND 1500 THEN
'1001-1500'
WHEN eq.ave_wages
BETWEEN 1501 AND 2000 THEN
'1501-2000'
WHEN eq.ave_wages
BETWEEN 2001 AND 2500 THEN
'2001-2500'
WHEN eq.ave_wages
BETWEEN 2501 AND 3000 THEN
'2501-3000'
WHEN eq.ave_wages
BETWEEN 3001 AND 3500 THEN
'3001-3500'
WHEN eq.ave_wages
BETWEEN 3501 AND 4000 THEN
'3501-4000'
WHEN eq.ave_wages
BETWEEN 4001 AND 4500 THEN
'4001-4500'
WHEN eq.ave_wages
BETWEEN 4501 AND 5000 THEN
'4501-5000'
WHEN eq.ave_wages
BETWEEN 5001 AND 5500 THEN
'5001-5500'
WHEN eq.ave_wages
BETWEEN 5501 AND 6000 THEN
'5501-6000'
WHEN eq.ave_wages
BETWEEN 6001 AND 6500 THEN
'6001-6500'
WHEN eq.ave_wages
BETWEEN 6501 AND 7000 THEN
'6501-7000'
WHEN eq.ave_wages
BETWEEN 7001 AND 7500 THEN
'7001-7500'
WHEN eq.ave_wages >= 7500 THEN
'7500+'
END wage_range
FROM
(SELECT DISTINCT
eq.emp3,
eq.wages,
SUM(eq.emp1) emp1,
SUM(eq.emp2) emp2,
SUM(eq.emp3) emp3,
SUM(eq.wages) wages,
ROUND(AVG(emp1 + emp2 + emp3) / wages,0,0) ave_wages
FROM b_owner._eqi eq
WHERE eq.yrqtr = 20181
AND eq.meei != 2) AS s;``````

Thanks, I tried and it said invalid ending. I tried this and I get the error that this has an invalid identifier with eq.ave_wage

SELECT eq.emp3, eq.wages, eq.ave_wages,
CASE WHEN EQ.ave_wages = 0 THEN '0'
WHEN EQ.ave_wages BETWEEN 0 AND 500 THEN '0-500'
WHEN EQ.ave_wages BETWEEN 501 AND 1000 THEN '501-1000'
WHEN EQ.ave_wages BETWEEN 1001 AND 1500 THEN '1001-1500'
WHEN EQ.ave_wages BETWEEN 1501 AND 2000 THEN '1501-2000'
WHEN EQ.ave_wages BETWEEN 2001 AND 2500 THEN '2001-2500'
WHEN EQ.ave_wages BETWEEN 2501 AND 3000 THEN '2501-3000'
WHEN EQ.ave_wages BETWEEN 3001 AND 3500 THEN '3001-3500'
WHEN EQ.ave_wages BETWEEN 3501 AND 4000 THEN '3501-4000'
WHEN EQ.ave_wages BETWEEN 4001 AND 4500 THEN '4001-4500'
WHEN EQ.ave_wages BETWEEN 4501 AND 5000 THEN '4501-5000'
WHEN EQ.ave_wages BETWEEN 5001 AND 5500 THEN '5001-5500'
WHEN EQ.ave_wages BETWEEN 5501 AND 6000 THEN '5501-6000'
WHEN EQ.ave_wages BETWEEN 6001 AND 6500 THEN '6001-6500'
WHEN EQ.ave_wages BETWEEN 6501 AND 7000 THEN '6501-7000'
WHEN EQ.ave_wages BETWEEN 7001 AND 7500 THEN '7001-7500'
WHEN EQ.ave_wages >= 7500 THEN'7500+' END wage_range
FROM (SELECT DISTINCT eq.emp3,eq.wages,SUM(eq.emp1) emp1,SUM(eq.emp2) emp2,
SUM(eq.emp3) emp3, SUM(eq.wages) wages,ROUND(AVG(emp1 + emp2 + emp3) / wages,0,0) ave_wage
FROM owner.b__equ eq
WHERE eq.yrqtr = 20181
AND eq.meei != 2)

hi

i tried to do this .. hope this helps  please click arrow to the left for "drop create sample data SCRIPT"
``````drop table owner.qui
go

drop schema owner
go

create schema owner
go

create table owner.qui
(
emp3 int,
wages int,
emp1 int,
emp2 int,
yrqtr int,
meei int
)
go

insert into owner.qui select 10,100,20,45,20181,3
insert into owner.qui select 20,150,15,50,20181,4
insert into owner.qui select 7 ,55, 28,23,20181,5
go

select 'sample data',* from owner.qui
go
``````

i was getting syntax errors .. so i fixed them like this
-- added group by clause ..
-- round requires 2 to 3 arguments .. fixed that

please click arrow to the left for "SQL"
``````SELECT DISTINCT eq.emp3,
eq.wages,
Sum(eq.emp1)                              emp1,
Sum(eq.emp2)                              emp2,
Sum(eq.emp3)                              emp3,
Sum(eq.wages)                             wages,
Round(Avg(emp1 + emp2 + emp3 / wages), 5) ave_wage
FROM   owner.qui eq
WHERE  eq.yrqtr = 20181
AND eq.meei != 2
GROUP  BY eq.emp3,
eq.wages,
eq.emp1,
eq.emp2
``````