Select 欄名(變數)的方式 |
尚未結案
|
doll_candy
初階會員 ![]() ![]() 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
D6+MS_SQL2000 請問各位大大
我有兩個Table(STR_Table1,AA_Table2)
STR_Table1 是有關資料庫欄位結構
欄1 欄2 欄3
AA 01 A01
AA 02 A02
AA 03 A03
AA 04 A04
.
.
.
AA 30 A30
BB ..
.
第一次查詢 結果:A12,A13
select 欄3 from STR_Table1
where 欄1='AA'
AND 欄2 IN ('12','13') 第二次查詢 結果:A14,A15
select 欄3 from STR_Table1
where 欄1='AA'
AND 欄2 IN ('14','15') 第一次從Table1查詢中得知要使用COL3之資料列 A12,A13
第一次從Table1查詢中得知要使用COL3之資料列 A14,A15
AA_Table2 共有30個欄位
固定要使用欄位外加A02,A03
從資料庫中得知使用Table2
第一次 需用A01,A02,A03,A12(變數1),A13(變數2)
第一次 需用A01,A02,A03,A14(變數1),A15(變數2) Str :='Select A01,A02,A03,(變數1),(變數2) from AA';
Qry.sql text := str;
.
. 請問變數1 & 2 要如何寫
拜託各位大大 謝謝
------
doll_candy |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 不知道是否將您的要求理解錯了﹐請問有無試過子查詢﹕
Str :='Select A01,A02,A03,(select 欄3 from STR_Table1 where 欄1=:Text1 AND 欄2 IN (:Text2,:Text3)),(select 欄3 from STR_Table1 where 欄1=:Text1 AND 欄2 IN (Text4,Text5)) from AA';
Qry.sql.text := str;
Qty.Parameters.ParamByName('Text1').Value := Edit1.Text;
Qty.Parameters.ParamByName('Text2').Value := Edit2.Text;
Qty.Parameters.ParamByName('Text3').Value := Edit3.Text;
Qty.Parameters.ParamByName('Text4').Value := Edit4.Text;
Qty.Parameters.ParamByName('Text5').Value := Edit5.Text; //此處的Qty假設為ADOQuery元件﹐若使用Query元件﹐請使用如下語法﹕
//Qty.ParamByName('Text1').AsString := Edit1.Text; 參考看看﹗ =====================
努力,相信會獲得美麗!
忻晟 發表人 - cashxin2002 於 2003/09/16 14:32:33
------
忻晟 |
doll_candy
初階會員 ![]() ![]() 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
|
wuabc
初階會員 ![]() ![]() 發表:6 回覆:60 積分:33 註冊:2002-10-28 發送簡訊給我 |
|
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言:
------
忻晟 |
doll_candy
初階會員 ![]() ![]() 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言: 既然已知MD_MD004,MD_MD005那麼直接以字串相加不就得了 StrAQLStr := 'Select MC0001,MC002,MC003,MC004,MC005,'+MD_MD004+','+MD_MD005+' FROM AA'; 再不然,Format也是不錯的選擇 StrAQLStr := format('Select MC0001,MC002,MC003,MC004,MC005,%s,%s FROM AA',[MD_MD004,MD_MD005]);
------
doll_candy |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹒ 雖然感覺您為了貼上那一篇'圖文并茂'的文章一定做得很辛苦吧﹐但是﹒﹒﹒怎么會覺得越看越暈了
------
忻晟 |
doll_candy
初階會員 ![]() ![]() 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
第一次從Table1查詢中得知要使用COL3(這里是指Table1的欄位3嗎)之資料列 A12,A13
>>>此col3,即為變數FieldName
第二次從Table1查詢中得知要使用COL3(這里也是指Table1的欄位3嗎)之資料列 A14,A15
>>>Yes AA_Table2 共有30個欄位
固定要使用欄位外加A02,A03(這一句看不懂﹐固定使用什么欄位﹐外加A02, A03是從來自哪個資料表)
>>>應改為A02即足夠,也就是條件MD_003
WHERE MD003='''+MD_MD003+'''
從頭序說起:
有兩個基本資料TABLE
1.為基本資料之MD_TABLE(MD006,MD007,MD008這後3欄之資料都是MC_TABLE之欄位From MC006 to MC012任一欄名)_代表每個產品的MAX MID MIN,這是由User輸入基本資料的產品畫面
------
doll_candy |
ko
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
doll_candy 小娃 你好:
我分成2個部分說明
1.第一次搜尋出來的結果,已經可以完成 並放在Qry1
Qry1放的全都是,[欄位名稱]
2.用Qry2要搜尋最後的結果,所以用
Str := ''Select ';
Qry1.first;
while not Qry1.Eof do
begin
Str:=Str Qry1.FieldByName('[欄位名稱]').AsString ',';
Qry1.Next;
end;
Str:=Str ',A01,A02,A03 from AA';//固定欄位 如此Qry1的值FieldByName('[欄位名稱]').AsString就是你所謂的變數
回答若不滿意請洽 消基會 電話 0800123123
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
引言: D6 MS_SQL2000 請問各位大大 我有兩個Table(STR_Table1,AA_Table2) STR_Table1 是有關資料庫欄位結構 欄1 欄2 欄3 AA 01 A01 AA 02 A02 AA 03 A03 AA 04 A04 . . . AA 30 A30 BB .. . 第一次查詢 結果:A12,A13 select 欄3 from STR_Table1 where 欄1='AA' AND 欄2 IN ('12','13') 第二次查詢 結果:A14,A15 select 欄3 from STR_Table1 where 欄1='AA' AND 欄2 IN ('14','15') 第一次從Table1查詢中得知要使用COL3之資料列 A12,A13 第一次從Table1查詢中得知要使用COL3之資料列 A14,A15 AA_Table2 共有30個欄位 固定要使用欄位外加A02,A03 從資料庫中得知使用Table2 第一次 需用A01,A02,A03,A12(變數1),A13(變數2) 第一次 需用A01,A02,A03,A14(變數1),A15(變數2) Str :='Select A01,A02,A03,(變數1),(變數2) from AA'; Qry.sql text := str; . . 請問變數1 & 2 要如何寫 拜託各位大大 謝謝
------
忻晟 |
doll_candy
初階會員 ![]() ![]() 發表:110 回覆:53 積分:32 註冊:2002-04-22 發送簡訊給我 |
引言: QryAQL3.Close; QryAQL3.SQL.Clear; QryAQL3.SQL.Add('Select A01, A02, A03, '''+MyRemark1+''', '); QryAQL3.SQL.Add(''''+MyRemark2+''' From AA_Table2'); QryAQL3.Open; end; //再利用一個Query完成您需要的工作﹐在其中套入MyRemark1和MyRemark2的值做為欄為名稱;[/code] 參考看看﹗結果,依舊如此圖樣
------
doll_candy |
cashxin2002
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 此處的欄位值似乎沒有以MyRemark1和MyRemark2變數值來代入﹐而是系統自行配給的名字﹐再改為如下試看看﹕ QryAQL3.Close;
QryAQL3.SQL.Clear;
QryAQL3.SQL.Add('Select A01, A02, A03, '''+MyRemark1+''' ''' MyRemark ''', ');
QryAQL3.SQL.Add('''' MyRemark2 ''' ''' MyRemark2 ''' From AA_Table2');
QryAQL3.Open;
end; 參考看看﹗ =====================
努力,相信會獲得美麗!
忻晟
------
忻晟 |
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
T.J.B
版主 ![]() ![]() ![]() ![]() ![]() 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
引言:
------
天行健 君子當自強不息~~@.@ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |