通过第一个参数获取列a和列b到最后一个参数

时间:2013-05-15 09:44:14

标签: tsql sql-server-2008-express

我是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之间(包括列和第一行/最后一行)

1 个答案:

答案 0 :(得分:0)

SQL Fiddle

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 |