CREATE TABLE tb(I INT)
INSERT tb SELECT cast((rand(checksum(newid()))*100) as int) AS I FROM master..spt_values
WHERE TYPE='P'AND number <=100
环境如上
要的结果是:用一个select语句求出两个相加等50的数
补充说明:42 8 与8 42 是相同的 只需显示其中一个
INSERT tb SELECT cast((rand(checksum(newid()))*100) as int) AS I FROM master..spt_values
WHERE TYPE='P'AND number <=100
环境如上
要的结果是:用一个select语句求出两个相加等50的数
补充说明:42 8 与8 42 是相同的 只需显示其中一个
解决方案 »
- 小弟新手,拜托各位高人给我解决一下问题,数据库的
- 无字段关联的情况下如何关联
- 删除SQL server 2000 日志文件,有谁实际操作过,这对数据库有影响吗?或是风险?
- 使字段默认值为getdate()函数返回的当前时间,如何做?
- Error converting data type varchar to numeric -- 怪问题
- 从6。5升级到2000要主意什么事情?直接安装2k会自动升级吗?
- 数据库因磁盘空间已满出现置疑,求解决方法
- sql 中表名可以用参数传递吗?
- 晕了,高手帮忙搞定啊!!!!
- 如何计算几个时间段时间的总和
- Sql Server 2005 存储过程 求救
- 请高手帮我优化一条SQL查询语句
AS
(SELECT
cast((rand(checksum(newid()))*100) as int) AS I
FROM master..spt_values
WHERE TYPE='P'AND number <=100
)
SELECT * FROM C AS a,C AS b WHERE a.I+b.I=50
AS
(SELECT
cast((rand(checksum(newid()))*100) as int) AS I
FROM master..spt_values
WHERE TYPE='P'AND number <=100
)
SELECT * FROM C AS a,C AS b WHERE a.I+b.I=50 AND a.i<b.i
WHERE TYPE='P'AND number <=100select * from tb a where exists(select 1 from tb where i+a.i=50 and I<>a.i)
INSERT tb SELECT cast((rand(checksum(newid()))*100) as int) AS I FROM master..spt_values
WHERE TYPE='P'AND number <=100select distinct * from tb a,tb b where b.I+a.i=50 and b.I<a.idrop table tb /*I I
----------- -----------
26 24
27 23
28 22
29 21
31 19
33 17
34 16
35 15
36 14
37 13
38 12
42 8
44 6
45 5
49 1
50 0(16 行受影响)*/
INNER JOIN TB B
ON A.I + B.I = 50
AND A.I <= 50/2
GROUP BY A.I