4

我是Sql初学者请指导我。我有两张桌子 1) tblEmploee & 2) tblAgeGroup

在此处输入图像描述

在此处输入图像描述

将 AgeGroupName 实现到 tblEmploee 表的最佳方法是什么。

4

1 回答 1

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
于 2013-07-29T06:13:02.850 回答