我是tsql的新手并坚持这个问题。任何人都可以帮助这个prb? 我有一张如下表; (使用SQL 2008 Express Edt。)
ID COL1 COL2
1 7 2
2 7 3
3 7 4
4 7 5
5 9 2
6 9 3
7 9 4
8 9 5
9 11 2
10 11 3
11 11 4
12 11 5
如何使用select查询来获取7/3和11/2之间(包括列和第一行/最后一行)
答案 0 :(得分:0)
MS SQL Server 2008架构设置:
create table YourTable
(
ID int,
COL1 int,
COL2 int
)
insert into YourTable values
(1 ,7 ,2),
(2 ,7 ,3),
(3 ,7 ,4),
(4 ,7 ,5),
(5 ,9 ,2),
(6 ,9 ,3),
(7 ,9 ,4),
(8 ,9 ,5),
(9 ,11 ,2),
(10 ,11 ,3),
(11 ,11 ,4),
(12 ,11 ,5)
查询1 :
select *
from YourTable
where (COL1 > 7 and COL1 < 11) or
(COL1 = 7 and COL2 >= 3) or
(COL1 = 11 and COL2 <= 2)
<强> Results 强>:
| ID | COL1 | COL2 |
--------------------
| 2 | 7 | 3 |
| 3 | 7 | 4 |
| 4 | 7 | 5 |
| 5 | 9 | 2 |
| 6 | 9 | 3 |
| 7 | 9 | 4 |
| 8 | 9 | 5 |
| 9 | 11 | 2 |