Access voiolation at address 問題 |
答題得分者是:st33chen
|
tas52332
一般會員 發表:23 回覆:24 積分:9 註冊:2002-07-04 發送簡訊給我 |
|
herbert2
尊榮會員 發表:58 回覆:640 積分:894 註冊:2004-04-16 發送簡訊給我 |
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
tas52332
一般會員 發表:23 回覆:24 積分:9 註冊:2002-07-04 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
不知道您用哪種 db 我在 oracle, mysql 測 您的第一式, 不管含不含 where 子句, 1. 如果 select aDay from Detail where Detail.NO=a.No 只有一筆, ok 2. 如果 select aDay from Detail where Detail.NO=a.No 不只一筆, 會報錯(錯誤訊息類似 : 子查詢回傳不只一筆) 第二式是 ok 的 通常, master-detail 模式是 master 筆數少(例如 訂單主檔存每筆訂單), detail 筆數比較多(例如 訂單明細檔存每筆訂單的每個項目) 所以會有第一式的結果 如果您要問一二式的差別, 我的想法是, 第一式是在指定一個資料表(table) 的 欄位 (fields) 的組合關係, 必須是一比一取 依您的例子, 解釋是 從 master 中取出符合條件的資料的所有欄位, 而每筆資料要再加一個從 detail 取得的日期欄位. 而 第二式是在指定 二個資料表 (tables) 的資料錄(records)組合關係, 是用排列組合的方式讀取資料錄 差別在於 from 子句中的 table 數. (sql 句的筆數決定於 from 及 where 子句, 而不在 select 子句) 不知我的表達能否讓您了解我的想法. 其他大大高人說不定會有更清楚或更正確的說法. 這是依您所提的 sql 句做回答 如果可以, 描述一下您要做成 那個 sql 句的用途 說不定會討論出不一樣的 sql 句, 解決您的真正問題, 而不是一個 sql 語句的問題. 參考一下啦 ===================引 用 tas52332 文 章=================== 補上 我下的 SQL SELECT a.* ,(select aDay from Detail where Detail.NO=a.No) as dd from Master a where a.No=:aNO 只要加 where 這段就不行?? 後來我改成 SELECT a.* ,b.aDay as dd from Master a left join Detail on Detail.no=a.no where a.No=:aNO 就可??
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
tas52332
一般會員 發表:23 回覆:24 積分:9 註冊:2002-07-04 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您知道 加了 where 後會錯誤的真正錯誤訊息嗎?
建議您 1. 用 try except on e:exception do begin showmessage(e:message); end; end; 看能否看到錯誤訊息. 或 2. 把 sql.text copy 後貼到 sql gui tools 中, 應該可以得到真正的錯誤訊息 (有訊息才好解問題) 我的判斷還是一對多的問題, 也請您確定資料真是一對一.
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2008-11-07 23:41:25, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |