0

我是 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

如何使用选择查询在 7/3 和 11/2 之间获取(包括列和第一/最后一行)

4

1 回答 1

0

SQL小提琴

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)

结果

| 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 |
于 2013-05-15T09:53:51.877 回答