易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL返回行数 - .NET技术 / C#

select * from A where (A.Id in (select top 1 Uid from B where B.TypeId=1 order by newId()))
 or 
(A.Id in (select top 2 Uid from B where B.TypeId=2 order by newId()));


为什么不确定 有时是3 有时是4或5或1或2

newId()每次都是不一样的

in是在这个集合里面。所以不确定

order by newId()-----------随机返回一个

补充一下 是返回行数不确定 返回的结果有时候是2/3/4/5/6行 ,应该返回3行的啊?

引用
补充一下 是返回行数不确定 返回的结果有时候是2/3/4/5/6行 ,应该返回3行的啊?


A.Id在表A中是否存在重复记录?

假如A表数据
ID  
1
1
2
2
2
3
...

如果你in条件筛选出来UID=1,查询结果就是2行,筛选出来UID=2,查询结构就是3行

表A:
Id name
1 aa
2 bb
3 cc
4 dd
5 ee
6 ff
7 gg
9 hh
10 ii
11 jj
12 kk
13 ll
14 mm
15 nn
NULL NULL
表B:
typeID Uid
1 1
1 13
1 14
2 4
2 7
2 9
2 10
3 2
3 3
3 5
3 6
3 8
3 11
3 12
3 15
NULL NULL

楼主用的是slqserver数据库吧,oralce 没有top用法的;如果在oracle中,可以根据rownum 来限制,如果是随机的可以根据random来限制的;
  希望大家多交流,欢迎访问我的空间.

select top 1 Uid from B where B.TypeId=1 order by newId()

select top 2 uid from B where B.TypeId=2 order by new


相关问答:

sql - MS-SQL Server / 疑难问题

sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊

随便搞一D版吧,

迅雷第一个就可以用
2000,2005都这样

http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......

sql 问题 - MS-SQL Server / 基础类

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......

VS2008操作Access问题 - .NET技术 / C#

VS2008中C#操作Access数据库,网上下载了一个类,可以正常连接,读取数据,但是插入删除操作似乎有问题,以下是部分代码:
数据库类:
namespace AccessDb
{
  public class AccessDbClass
  { ......

关于Sql的问题 - .NET技术 / ASP.NET

将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊


多谢,可以啦,高手啊

直接执行就行了

exec ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号