【发布时间】:2022-09-28 21:04:08
【问题描述】:
我想取写在表 A 的数字字段中的值,并在表 B 的高范围和低范围字段中找到它对应的范围,并将其显示在结果表中。如果在多个范围内,则应取先到者(B_id 较小)
一张桌子
| A_Id | Number |
|---|---|
| 1 | 10 |
| 2 | 50 |
| 3 | 60 |
| 4 | 52 |
例如(数字 = 10)
B表
| B_Id | Low range | High range | Type |
|---|---|---|---|
| 1 | 5 | 30 | ACARD |
| 2 | 35 | 55 | BCARD |
| 3 | 50 | 110 | CCARD |
例如(低范围 >10 和高范围 <10 结果 B_id = 1)
结果表
| Id | Number | Type |
|---|---|---|
| 1 | 10 | ACARD |
| 2 | 50 | BCARD |
| 3 | 60 | CCARD |
| 4 | 52 | BCARD |
-
你试过
INNER JOIN+ROW_NUMBER()吗? -
没有要加入的字段(外键)
-
您不需要外键来执行连接。
A JOIN B ON A.Number BETWEEN B.LowRange and B.HighRange -
那么我如何使用行号
-
请检查文档
标签: sql sql-server entity-framework