我有两张桌子CENTER和RANGE_CENTER。根据表1中的CENTER_ID,我需要找到相应的ID。
例如,如果Centreid是2000,那么它应该显示a100。表1中所有记录的方式。
我发现编写查询很困难。
请你指导我。
DEPT Center_Id
10 2000
10 2001
20 3001
20 2580
CENTER_FROM CENTER_TO ALLOCATION_ID
1999 2499 a100
2500 2999 b234
3000 3499 c199
由于
答案 0 :(得分:3)
您可以join
表格,以便一张表格中的center_id为between
另一张表格中的center_from和center_to。
select c.dept,c.center_id,rc.allocation_id
from center c
join range_center rc on c.center_id between rc.center_from and rc.center_to
答案 1 :(得分:0)
如果您不喜欢加入,那么您可以使用相关子查询:
SELECT c.DEPT, c.Center_Id,
( SELECT ALLOCATION_ID FROM RANGE_CENTER r
WHERE c.Center_Id BETWEEN r.CENTER_FROM AND r.CENTER_TO
) As ALLOCATION_ID
FROM CENTER c