線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:3163
推到 Plurk!
推到 Facebook!

請問from多個資料表的意義!

答題得分者是:herbert2
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-11-27 20:57:22 IP:114.33.xxx.xxx 訂閱
a 資料表欄位
a1____a2
1_____o
1_____o
1_____i
2_____i
2_____i

b 資料表欄位
b1____b2
1_____o
1_____o
2_____o
2_____i

SELECT a.a1 ,a.a2
FROM a,b

結果
a1___a2
1____o
1____o
1____i
2____i
2____i
1____o
1____o
1____i
2____i
2____i
1____o
1____o
1____i
2____i
2____i
1____o
1____o
1____i
2____i
2____i

能告訴我為什麼結果是這樣嗎?
謝謝!!

------
-謝謝大大熱心的回覆!謝謝!
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-11-27 23:41:19 IP:211.72.xxx.xxx 訂閱

因 a 資料表有五筆, b資料表有四筆,
您的 SQL 並無 WHERE 條件,
故 a資料表有五筆便出現四次(因 b資料表有四筆).

您最好讓每筆的欄值都不同, SELECT 結果便可清楚的呈現此情況.
a.Record1 此時配 b.Record1
a.Record2
a.Record3
a.Record4
a.Record5
a.Record1 此時配 b.Record2
a.Record2
a.Record3
a.Record4
a.Record5
a.Record1 此時配 b.Record3
a.Record2
a.Record3
a.Record4
a.Record5
a.Record1 此時配 b.Record4
a.Record2
a.Record3
a.Record4
a.Record5
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-11-28 00:11:53 IP:114.33.xxx.xxx 訂閱
a.Record1 此時配 b.Record1
a.Record2 此時配 b.Record1
a.Record3 此時配 b.Record1
a.Record4 此時配 b.Record1
a.Record5 此時配 b.Record1
a.Record1 此時配 b.Record2
a.Record2 此時配 b.Record2
a.Record3 此時配 b.Record2
a.Record4 此時配 b.Record2
a.Record5 此時配 b.Record2
a.Record1 此時配 b.Record3
a.Record2 此時配 b.Record3
a.Record3 此時配 b.Record3
a.Record4 此時配 b.Record3
a.Record5 此時配 b.Record3
a.Record1 此時配 b.Record4
a.Record2 此時配 b.Record4
a.Record3 此時配 b.Record4
a.Record4 此時配 b.Record4
a.Record5 此時配 b.Record4

而且我發現
SELECT a.a1 ,a.a2,b.b1,b.b2
FROM
出現的順序也一樣,令我好奇為什麼不會變!

------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2009-11-28 10:31:57, 註解 無‧
l90425 重新編輯於 2009-11-28 10:33:03, 註解 無‧
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-11-29 10:22:50 IP:211.72.xxx.xxx 訂閱
a,b

SELECT a.a1 ,a.a2,b.b1,b.b2
FROM

因無 WHERE 條件, 故 Result Data Set 是一樣的.
又因無 ORDER BY 排序指令, 故輸出結果的排序是 MS-SQL 內定的.

故小弟希望您將各 Record 的 Column 填不同的值, 才容易判斷.

另, Table a, Table b 似乎都無 Primary Key, 這在 SQL Base 中是絕對不好的設計,
當您做 UPDATE 時, 會一次改掉多筆資料錄.
l90425
初階會員


發表:95
回覆:152
積分:49
註冊:2008-04-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-11-30 11:17:17 IP:114.33.xxx.xxx 訂閱
SQL Base 會不知道你要更新那一筆資料所以才會一次更新掉"SELECT a.a1 ,a.a2,b.b1,b.b2 FROM 他會怎麼篩選所以沒有設定PK也沒有讓每一筆都不重複!

非常感謝大大的解惑!


------
-謝謝大大熱心的回覆!謝謝!
編輯記錄
l90425 重新編輯於 2009-11-30 11:18:13, 註解 無‧
系統時間:2024-04-23 18:49:29
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!