数据库查询的问题
我现在有个表A 字段id
有5条数据 1,2,3,5,6
然后我现在要查询的是 怎么通过ID查询到 “4”(也就是说ID里面不包含的那个数字)
ID可以当作是累加的,中间可能有个别漏掉的,我现在就是想把漏掉的给找出来
小白 求教
[解决办法]
数据量多么?是SQL2005还是?
- SQL code
--SQL2005;with ach as( select rid=row_number() over (order by getdate()) from master..spt_values a,master..spt_values b where a.type = 'P' and b.type = 'P')select a.ridfrom ach a left join tb b on a.rid = b.idwhere b.id is null
[解决办法]
- SQL code
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'A')BEGIN DROP TABLE AENDGOCREATE TABLE A( ID INT)GOINSERT INTO ASELECT 1 UNIONSELECT 2 UNIONSELECT 3 UNIONSELECT 5 UNIONSELECT 6 UNIONSELECT 8 GOSELECT numberFROM A FULL OUTER JOIN (SELECT number FROM master..spt_values WHERE type = 'P' AND number > 0) AS B ON number = IDWHERE number <= (SELECT MAX(ID) FROM A) AND number >= (SELECT MIN(ID) FROM A) AND ID IS NULLnumber47