全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1757
推到 Plurk!
推到 Facebook!

TQuery查詢的問題sql語的用法?

 
majan
一般會員


發表:10
回覆:10
積分:4
註冊:2007-02-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-22 13:56:51 IP:210.241.xxx.xxx 訂閱
我的問題  題目 每筆資料共有5個欄位 ID  nu1 nu2 nu3 nu4 

selcet * form base where .....1 3

條件是 if nu1到 nu4 符合條件=1 and nu1~nu4=2 符合條件 才會show出id

findnext
之後才會在往下一筆找

現在做到while do 問題就在這while 怎麼辨定 =1
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-22 14:41:45 IP:60.248.xxx.xxx 未訂閱
看不太懂你的問題
您是指已把資料全部已用sql語法調出來了
只是要在秀資料上面,要用do while處理麼?
majan
一般會員


發表:10
回覆:10
積分:4
註冊:2007-02-20

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-23 00:47:53 IP:210.64.xxx.xxx 訂閱
不是全調出來  只是要選出 附合條件的  nu1 nu2 nu3 nu4 :integer
nu1 nu2 nu3 nu4
1 2 3 4
4 5 6 7
5 6 7 8
怎麼找出 有5有6的資料 我是想用 select * from base where nu1 nu2 nu3 nu4=5
先找出第一個條件ok的 在進行判定 在下去做第二個條件的
怎麼用 因為我想要用回圈一個一個找做處理才會 想用while do跟 if去做
也就是說 怎麼if 這個query找出來的第一個條件是true 這段我不曉得怎麼用


pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-23 10:11:36 IP:60.248.xxx.xxx 未訂閱
只好用while loop去整理,只是要多一個id欄位  <textarea class="sql" rows="10" cols="60" name="code"> declare @table table(id char(2),nu1 integer, nu2 integer,nu3 integer,nu4 integer) insert @table select '1',1,2,3,4 insert @table select '2',4,5,6,7 insert @table select '3',5,6,7,8 declare @result table(id char(2),nu1 integer, nu2 integer,nu3 integer,nu4 integer) declare @loopValue integer set @loopValue=5 while @loopValue<7 begin insert @result select * from @table where (nu1=@loopValue or nu2=@loopValue or nu3=@loopValue or nu4=@loopValue ) and id not in (select id from @result) set @loopValue=@loopValue 1 end select * from @result</textarea>
majan
一般會員


發表:10
回覆:10
積分:4
註冊:2007-02-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-23 11:14:41 IP:210.241.xxx.xxx 訂閱
大大寫的很清楚 我看的粉模糊
@table 是 tablename?
為什麼要insert @table
select '1',1,2,3,4 的意思是?? 如果是百筆資料十欗以上的資料庫也可以用?
^^^
啥意思?條件式1嗎?@result 這個又是啥?
===================引 用 文 章===================
只好用while loop去整理,只是要多一個id欄位 ?<textarea class="sql" rows="10" cols="60" name="code">declare @table table(id char(2),nu1 integer, nu2 integer,nu3 integer,nu4 integer) insert @table select '1',1,2,3,4 insert @table select '2',4,5,6,7 insert @table select '3',5,6,7,8 declare @result table(id char(2),nu1 integer, nu2 integer,nu3 integer,nu4 integer) declare @loopValue integer set @loopValue=5 while @loopValue<7 begin insert @result ???? select * from @table where (nu1=@loopValue or nu2=@loopValue ???????? or nu3=@loopValue or nu4=@loopValue ) ???????? and id not in (select id from @result) set @loopValue=@loopValue 1 end select * from @result</textarea>
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-03-23 11:44:34 IP:60.248.xxx.xxx 未訂閱
@table是我在SQL Server建一個臨時資料表,最主要是根據您的資料結構塞一些你給的數據
上面的語法都是SQL Server的T-SQL程式

如果您where後面條件(例如@loopValue變數)是動態的就要用While loop去整理到另一個@result暫存表
系統時間:2024-11-23 2:01:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!