首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

sql语句简单有关问题

2011-12-19 
sql语句简单问题sql语句如下:SELECTTOP5*FROMAINNERJOINBONA.idB.bidandCancelS0andRecLoc+RBRecLoc.S

sql语句简单问题
sql语句如下:
SELECT   TOP   5   *   FROM   A   INNER   JOIN   B   ON   A.id   =   B.bid   and   CancelS=0       and   RecLoc= ' "   +   RBRecLoc.SelectedItem.Value   +   " '     ORDER   BY   A.ID   DESC,   A.name   ,A.time "
现要求每5条记录放到一个dt中,
sql语句改为:
count=5*n(n是变化的)
SELECT   TOP   5   *   FROM   A   INNER   JOIN   B   ON   A.id   =   B.bid   and   CancelS=0       and   RecLoc= ' "   +   txt1.text+   " '
  and   a.id   not   in   (select   top   "&   count   &   "   id   from   A       INNER   JOIN   B   ON   A.id   =   B.bid   and   CancelS=0       and   RecLoc= ' "   +   txt1.text+   " '   ORDER   BY   A.ID   DESC,   A.name   ,A.time)    
ORDER   BY   A.ID   DESC,   A.name   ,A.time "
测试时,共有60条记录,发现有一条记录出现两次,而一条记录没有出现.
请问,哪个地方不对?


[解决办法]
up
[解决办法]
可否使用纯sql语句,哪样便于发现问题...
[解决办法]
up
[解决办法]
你试下这样:
select top 5 * from artx
union
select top 5 * from artx
顺便解释一下:
--------------------------------------
UNION 运算符
将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。
使用 UNION 组合两个查询的结果集的两个基本规则是:
所有查询中的列数和列的顺序必须相同。
数据类型必须兼容。

UNION

指定组合多个结果集并将其作为单个结果集返回。

ALL(注意下面这句话)

在结果中包含所有的行,包括重复行。如果没有指定,则删除重复行。


[解决办法]
帮顶

热点排行