1
2
3
4
5
...
100
我想输出 456123789...100或
789123456...100
2
3
4
5
...
100
我想输出 456123789...100或
789123456...100
解决方案 »
- Global的使用.禁止多次登陆.即时在线人数统计.求高手赐教.在线等.
- asp.net的验证控件能做到控制文本框内容不超过255个字符吗?
- [***100分****],如何实现访问网站不存在的页时,出现“你访问的页不存在,5秒后跳回主面的效果。”。
- 通过USB2.0将数据传送到磁卡
- 给大家提供一个地址,大家看看,这个网站吧。。评价一下。。
- 多条件查询的问题,以前问过,但现在查询不到以前的文章~
- Encoding的一个问题,搞了一下午,急死我了!大家帮忙啊!
- 怎样给EXCEL.CELL赋值???
- 浏览器页面一下子显示,而不要分段显示,up有分
- 文字闪烁问题,请教
- .NET
- 会议室预约周期性问题
id
1
2
3
4
6
...
100
一直到一百。
求一个sql语句。
直接输出的结果,我想让1-100中的id在前面输出一个或几个,后面的正常排序。如 456123789
union join select top 3 id from table union join select top 3 id from tabel
where id not in(select top 6 id from table)
可能我没有说明白。
是这样的,有一列数据。
id images
1 1.gif
2 2.gif
3 3.gif
4 4.gif
5 5.gif
6 6.gif
...
100 100.gif 从1-100 个
一个sql语句,输出的顺序是 x x x 1 2 3
x是1-100之间的id,x的个数在6以下, 如果x的个数是2个,分别等于 3 4
那么 输出的顺序是 341256
如果 x个数是3 分别是 4 5 6 那么输出是 4 5 6 1 2 3
id int
)declare @sql nvarchar(4000)
set @sql = 'insert into zi'
declare @i int
set @i = 1
while @i<100
begin
set @sql = @sql +' select '+cast(@i as nvarchar(10))+ ' union all '
set @i =@i +1
end
set @sql = @sql +' select 100'
print @sql
exec(@sql) declare @j int
set @j = 4--选择输出的个数
declare @k int
set @k = 5--从第几个数开始
declare @sql nvarchar(4000)
set @sql = ''
declare @sql1 nvarchar(4000)
set @sql1 = ''
declare @sql2 nvarchar(4000)
set @sql2 = ''
declare @sql3 nvarchar(4000)
set @sql3 = ''
set @sql = @sql +'select top '+ cast(@k as nvarchar(10)) +' id from zi'
set @sql1 = @sql1 +'select top '+ cast(@j as nvarchar(10)) +'id from zi where id not in( '+@sql +')'
set @sql2 = @sql2 +'select id from zi where id not in (select top '+cast((@k+@j) as nvarchar(10))+'id from zi)'
set @sql3 = @sql1+' union all '
set @sql3=@sql3+@sql
set @sql3=@sql3 +' union all '
set @sql3=@sql3+@sql2
exec(@sql3)
set @selectTop='4,5,6'--@selectTop是你动态选择首先输出的行的id
EXEC('select * from table_1 where id in('+@selectTop+')union all select * from table_2 where id not in('+@selectTop+')')
(
@k int,
@j int
)
returns nvarchar(4000)
as
begin
declare @sql4 nvarchar(4000)
set @sql4 = ''
declare @sql1 nvarchar(4000)
set @sql1 = ''
declare @sql2 nvarchar(4000)
set @sql2 = ''
declare @sql3 nvarchar(4000)
set @sql3 = ''
set @sql4 = @sql4 +'select top '+ cast(@k as nvarchar(10)) +' id from zi'
set @sql1 = @sql1 +'select top '+ cast(@j as nvarchar(10)) +'id from zi where id not in( '+@sql4 +')'
set @sql2 = @sql2 +'select id from zi where id not in (select top '+cast((@k+@j) as nvarchar(10))+'id from zi)'
set @sql3 = @sql1+' union all '
set @sql3=@sql3+@sql4
set @sql3=@sql3 +' union all '
set @sql3=@sql3+@sql2--exec(@sql3)
return @sql3
end函数
declare @s nvarchar(4000)
set @s=dbo.decide(4,5)
exec(@s)
调用
declare @PageSize int
declare @PageIndex int
declare @PageLowerBound int
declare @PageUpperBound int
declare @RowsToReturn int
SET @PageSize = {0}
SET @PageIndex = {1} --需要返回的结果范围
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
SET @RowsToReturn = @PageSize * (@PageIndex + 1) --设置最大返回的行数
SET ROWCOUNT @RowsToReturn CREATE TABLE #PageIndex
(
IndexID int IDENTITY (1, 1) NOT NULL,
ID varchar(100)
) insert into #PageIndex(ID)
select ID from ORG_INFO {2} order by LEVEL {3}
Where ID in
(
SELECT
ID
FROM
#PageIndex
WHERE
#PageIndex.IndexID > @PageLowerBound AND
#PageIndex.IndexID < @PageUpperBound
)
order by LEVEL drop table #PageIndex SET ROWCOUNT 0
";
select id images from table a where a>x and a<=x+n
union
select id images from table a where a<=x
union
select id images from table a where x>x+n and x<=100简单易懂
union all select * from table_1 where id not in(select top @selectTop * from table_1 where id not in
(select top @tops id from table_1))
union all
select * from tab2 where id not in('2','3')
GO
/****** Object: Table [dbo].[Table_1] Script Date: 08/21/2008 16:56:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Table_1](
[id] [int] NULL,
[images] [varchar](50) NULL
) ON [PRIMARY]GO
SET ANSI_PADDING OFF
create proc usp_dynamic @a varchar(30)
asdeclare @selectTop as varchar(20)
set @selectTop= @a --@selectTop是你动态选择首先输出的行的id
EXEC('select * from table_1 where id in('+@selectTop+
')union all select * from table_1 where id not in('+@selectTop+')')
4 4.gif
1 1.gif
2 2.gif
5 5.gif
6 6.gif
7 7.gifusp_dynamic '4,5,6'4 4.gif
5 5.gif
6 6.gif
1 1.gif
2 2.gif
3 3.gif
7 7.gif