1樓:吳豔山
經過努力,解決了這個問題(此前,絕大多數的方法都是生成乙個從最小直到最大值的連續序列過渡表,然後兩表關聯或利用子查詢,查處源表中不存在的值),該唯畢搭方法比較簡單也比較巧妙,思路如此:
斷號的含義也就是不在源表中的號,但斷號肯定是指拿源表中的某個號碼加上乙個數得到的,也就是說,我第一步需要找到源表中的每乙個值加1後(取名為f1)不存在源表序列中的值,然後以此為基礎,在源表中找數棚大於f1的最小值(取名f2),那麼從f1到f2的值即為斷號值,到此解決!!
語句如下(絕對原創):
select f1, (select min(f)-1 from t where f>f1) as f2
from select f+1 as f1
from t
where f+1 not in (select f from t) and f <(select max(f) from t)
as cc;
結果如下:f1 f2
徐州 吳豔山。
2樓:青青未了
bs樓上一汪虛下橡備。
這都什麼時代了,還這麼保守。
如果你不願梁陵毀意讓別人用,你可以不帖出來。謝謝。
3樓:網友
吳豔山!強啊,我真是佩服的五體投地,請容許我叫你一聲大哥哥,加你為好友!
怎樣編寫sql語句找到斷號的地方?
4樓:靈貓的羽毛
樓上2位的方法真不敢恭維,有了不斷號的表還檢查什麼,還有3天過期了,摟住不知道解決沒有,要是還需要解決的話請在補充中註明~寫語句出來要點時間,不過如果用建立臨時表或者儲存過程的話倒是有現成的。
declare @temptable table(a int)
declare @char varchar(1000),@i int,@num int
set @num=(select max(cid) from table) -cid 為id欄位。
set @i=1
while @i<=@num
begininsert @temptable values (@i)
set @i=@i+1
end select a from @temptable where a not in (select cid from table)
5樓:網友
我想到的辦法就是 再建乙個表(表a) 裡面序號是全的。
這樣只要查下在表a中存在,在後乙個表中不存在的序號 就行。
這樣斷號就找到了。
如何用sql語句,實現分頁查詢?
6樓:王王
適用於 sql server 2000/2005select top 頁大小 *
from table1
where id not in
select top 頁大小*(頁數-1) id from table1 order by id
如何用sql語句實現查詢名字
7樓:網友
可以用sql的模糊查詢。語句如下。
select * from 表名 where 欄位 like '%關鍵字%'
其中 % 為萬用字元。
條件的意思就是查詢欄位裡面帶「關鍵字」的資料。
8樓:網友
假設表叫【tab_1】
該表的「姓名」欄位是【name】
假設你要查的這個人的姓是【張】
select * from tab_1 where name like '張%';
name```
--張三```
張小薇```
張伯倫```
張可```假設知道這個人的名(例如:什麼小田),不知道姓,就這樣查:
select * from tab_1 where name like '%小田';
sql語句,怎麼用查詢的結果,進行再查詢?
9樓:網友
任何乙個查詢結果都可以當成一張表 再次查詢比如我的sql語句是。
select * from person where age>10 --大於10歲。
我們可以對這個結果再次查詢如下。
select b.* from (select * from person where age>10) b where '男' --大於10歲的男性。
10樓:網友
可以有多種方式處理:
我這裡舉個例子:
比如你的另外一張表, 叫做 users, 有個 userid 是要檢索的關聯條件。
1.使用子查詢 in 的方式。
select *
from users
where userid in (select friendid from friends where hostid=10000)
2.修改原有sql為表關聯的方式。
select
users.*
fromusers , friends
whereand
3.更加複雜點的,就用 遊標處理,不過那個是儲存過程裡面乾的事情了。
11樓:網友
直接把結果集寫在 from 後面就可以了。
例圖中**。
結果集1在結果集1中再查詢。
12樓:德魯伊
用子查詢,select *
from 『』你要查詢的另乙個表『
where friendld in(
select friendid
from friends
where hostid=10000
或者兩個表連線也能解決問題。
select 』你要查詢的標準的列名稱『
from friends,』另乙個表的名稱『where , '另乙個表的名稱'.hostld還有我提醒下你,你如果真的想學資料庫,還是買一u本好書吧,轉名將sql的書。要不然這樣問下去,你會問的無休止的。
到頭來浪費時間還學不好。
如果你只是玩玩,我建議你還是不要學資料庫了,資料庫很複雜。你臨時要做東西的話找個人替你做。
13樓:網友
declare @friendid int
select @friendid = friendid from friends where hostid=10000
然後@friendid就是乙個可用的變數了。
用sql語句查詢
14樓:戲雨南
1,select cust_name, cust_city, cust_phone from 客戶表 where custmoer_id=「511603323」
2,select cust_name,account_no,oper_type,oper_date,amount from 表!!
你沒有說有哪些表,select的格式就是 select 表的屬性 from 表 where 條件。
多表查詢的話你要注意表與表的連線條件。
15樓:網友
select as 姓名, as 賬號, as 操作型別, as操作日期,b. amount as 金額 from custmoer_id a,操作表 b where
怎麼查詢一段時間內的資料,sql語句怎麼查詢
16樓:網友
比如查詢2014年1月1日-2014年6月30日之間的資料。
select * from 表 where 日期欄位 between '20140101' and '20140630'
怎樣用sql語句查詢出來已%號開頭的呢
17樓:
使用like匹配,並指定轉義符號,用轉義符號後跟%來表示匹配%,類似:
like '\%%' escape '\'
這樣,跟在指定的轉義符號之後的字元被當作一般的字元看待。
用sql查詢語句怎麼讓表中id按照順序來
18樓:獨孤的輝煌
這個首先你要寫出你要查詢的內容,如 select name,age from student order by id asc;
asc 代表公升序這也是預設的desc代表降序;
19樓:晨晨風響
--你說的是sql server吧 假如表的名稱就是a 裡面有乙個欄位是id
select * from a order by id asc
asc 是正序排 也可以修改成 desc 是倒序排。
20樓:
語句最後面加。
order by id asc(公升序)/desc(降序)
sqlserver中如何用SQL語句寫檔案
在我的機器上測試成功,我的是sql 2005,有資料。sql預設安裝下,你要先執行下面的語句。請在測試前刪除test.exe。請用寫字板開啟test.txt。sp configure show advanced options 1 goreconfigure go enable the ole au...
sql語句如何使用join,SQL語句如何使用join
join分為left join,inner join,right join,預設是inner join left join 表示結果已左側為準,當右側沒有左側的記錄是,欄位值已null表示 right join 表示結果已右側為準,當左側沒有右側的記錄是,欄位值已null表示 inner join ...
如何用sql 語句擷取兩個固定字元之間的字串
select substring 字串,1,patindex 字串 丘 1 as 字元1 substring 字串,patindex 字串 丘 1,patindex 字串 棟 patindex 字串 丘 1 as 字元2 from 表名 一 用到的函式 substring charindex sel...