Sunday, June 9, 2013

NEED A QUERY

Try the below:(But wondering why you are not able to use CASE WHEN Expression)



CREATE TABLE STUDENT
(
STUDENT_NAME VARCHAR(10),
MARKS INT,
GRADE VARCHAR(10)
)
INSERT INTO STUDENT VALUES('Brad',92,'')
INSERT INTO STUDENT VALUES('Spence',73,'')
INSERT INTO STUDENT VALUES('Todd',52,'')
INSERT INTO STUDENT VALUES('Jesse',48,'')
CREATE TABLE GRADE
(
RANGE VARCHAR(10),
GRADE VARCHAR(10)
)
INSERT INTO GRADE Values('90-99','A')
INSERT INTO GRADE Values('80-89','B')
INSERT INTO GRADE Values('70-79','C')
INSERT INTO GRADE Values('60-69','D')
INSERT INTO GRADE Values('BELOW-60','E')
CREATE TABLE #TEMPGRADES
(
SRANGE Int,
EREANGE Int,
GRADE char(1)
)
Insert into #TEMPGRADES
SELECT REPLACE(PARSENAME(Replace(RANGE,'-','.'),2),'BELOW','0'), PARSENAME(Replace(RANGE,'-','.'),1),GRADE
FROM GRADE
Update A Set A.GRADE = B.GRADE From STUDENT A
INNER JOIN #TEMPGRADES B on A.MARKS between B.SRANGE and B.EREANGE
Select * From STUDENT
Drop table STUDENT,GRADE,#TEMPGRADES





Please use Marked as Answer if my post solved your problem and use Vote As Helpful if a post was useful.


No comments:

Post a Comment