請一個資料重覆的問題? |
尚未結案
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
有一個資料庫db1資料表test,欄位名two,newtwo二個,在two這個欄位輸入了30筆資料,可是卻有二、三筆是重覆的,不知是否可以把重覆的刪掉,然後在newtwo這個欄位把重覆的次數給顯示在newtwo上,
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert newtwo (two) select distinct two from two');
SQL.Add('(:two)');
end;
end;可是跑出來卻都沒反應。請高手幫幫我
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
不好意思,可能誤會我的意思了,我的意思是說假設資料庫裡有
12
23
45
12
23
重覆的有兩筆,那可否把45不重覆這筆給取出來,放在新欄位上(NEWTWO),
var
a: array[0..100] of String;
s:string;
i,j:integer;
begin
adoQuery1.Close;
adoQuery1.SQL.Clear;
adoQuery1.SQL.Add('Select Count(*) From test');
adoQuery1.Open;
I := adoQuery1.Fields[0].Value; //計算總筆數
For j:=1 to i do
begin
s:=Parameters.ParamValues['two']; //把每筆傳到s字串
a[j]:= s; //字串在傳到陣列
adoQuery1.SQL.Add('select two from test where two=a[j]'); //比對資料欄位是否與陣列值相同
if(s) //不相同的話,就輸出到新欄位
begin
adoQuery1.SQL.Add ('INSERT INTO test([newtwo]) VALUES') ;
end;
end;
end;可是這樣會有錯耶,請高手幫幫我?
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |