2013-07-29 67 views

回答

6

溶液#1 -

SELECT e.*, a.AgeGroupName 
FROM dbo.tblEmploee e 
JOIN dbo.tblAgeGroup a ON e.EmpAge BETWEEN a.AgeGroupMinAge AND a.AgeGroupMaxAge 

溶液#2 -

SELECT * 
FROM dbo.tblEmploee e 
OUTER APPLY (
    SELECT TOP 1 a.AgeGroupName 
    FROM dbo.tblAgeGroup a 
    WHERE e.EmpAge BETWEEN a.AgeGroupMinAge AND a.AgeGroupMaxAge 
) a 

溶液#3 -

SELECT e.*, AgeGroupName = (
    SELECT a.AgeGroupName 
    FROM dbo.tblAgeGroup a 
    WHERE e.EmpAge BETWEEN a.AgeGroupMinAge AND a.AgeGroupMaxAge 
) 
FROM dbo.tblEmploee e 
+2

** [SQL小提琴](http://sqlfiddle.com/#!3/ae0df/5)**我正在嘗試與解決方案#1相同的邏輯。但你更快。 – Luv

+0

@Luv,謝謝你的小提琴鏈接。 – Devart

+0

感謝@Devart感謝您的快速回答。 –