2013-07-29 2 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 Fiddle] (http://sqlfiddle.com/#!3/ae0df/5) ** Я пытался придерживаться той же логики, что и решение № 1. Но ты был быстрее. – Luv

+0

@Luv, спасибо за ссылку для скрипки. – Devart

+0

Спасибо спасибо @Devart за быстрый ответ. –

Смежные вопросы