VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請教:在有條件的 LEFT OUTER JOIN 中如何讓右側的資料出現?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 1 樓

發表發表於: 星期五 三月 17, 2006 6:27 pm    文章主題: 請教:在有條件的 LEFT OUTER JOIN 中如何讓右側的資料出現? 引言回覆

我想用兩個 Remote View 來存取 SQL 2000 的資料

在 DBC 中有兩個 remote view,它的格式為大約就是

VER_2005 訂單 欄位有 no_v (單據號碼) … num_v (幣別代碼)
PRO 單位 欄位有 nam_p (幣別代碼) … money_p (合台幣多少元)

我希望它們能合併成一個 新的 view ,所以在 View designer 中就產生另一個ver_pro 的 新 view,將這個 新view 在 View designer 中的 show the SQL windows 取重要片斷如下面的樣子

FROM ;
{oj dbo.VER_2005 Ver_2005 LEFT OUTER JOIN dbo.PRO Pro ;
ON Ver_2005.NUM_V = Pro.NAM_P};
WHERE Ver_2005.NO_V BETWEEN ?GC_QUERY1 AND ?GC_QUERY2

現在在 form 中拉入 remote view VER_PRO,輸入 GC_QUERY1 AND QUERY2 兩個變數,
可以 catch 出符合條件的資料,但是在那個由 PRO view 結合進來的欄位資料全部都是 .NULL.

請問大大,在 left out join 中如何能在有條件指定下所有抓出的 view 裡所
有完整資料呢?
先謝謝各位大大,感謝 .. 3Q


Abel 在 星期六 三月 18, 2006 4:33 pm 作了第 5 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 2 樓

發表發表於: 星期六 三月 18, 2006 12:50 pm    文章主題: 引言回覆

或許是我詞不達意吧?我有做修改了…

可能大大們都休假吧,懇請看見的大大回覆一下吧?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2157


第 3 樓

發表發表於: 星期一 三月 20, 2006 10:18 am    文章主題: 引言回覆

看起來沒有問題.
兩個table 之間的關聯是靠 Ver_2005.NUM_V = Pro.NAM_P
會不會是兩個欄位長度不相等.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 4 樓

發表發表於: 星期一 三月 20, 2006 10:34 am    文章主題: 引言回覆

感謝 garfield 大大的回覆

您所提「會不會兩個欄位長度不相等」,經查明
ver_2005.num_v -> char / 16
pro.nam_p -> varchar / 16

看起來好像相同,只是弄不清楚 char 和 varchar 它們差別在那?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 5 樓

發表發表於: 星期一 三月 20, 2006 11:26 am    文章主題: 引言回覆

這兩種應該視為不一樣,
最好用 CAST() 或CONVERT() 轉成一樣
因為VARCHAR 長度不夠時,不會補SPACE,但是CHAR會,
所以會出現 'CAR   ' 與 'CAR' 被視為不相等的問題


M$ SQL SERVER 2000 HELP
----------------
char 與 varchar
固定長度 (char) 或可變長度 (varchar) 字元資料型別。

char[(n)]

長度為 n 個字元之固定長度非 Unicode 字元資料。n 必須介於 1 至 8,000,儲存大小為 n 個位元組。 char 的 SQL-92 同義資料表 (Synonym) 為 character。

varchar[(n)]

長度為 n 個字元之可變長度非 Unicode 字元資料。n 必須介於 1 至 8,000,儲存大小為實際輸入資料的長度,而非 n 個位元組。輸入的資料長度可以是 0 字元。 varchar 的 SQL-92 同義資料表為 char varying 或 character varying。

備註
當您未在資料定義或變數宣告陳述式內指定 n,其預設長度為 1。當未使用 CAST 函數指定 n 時,此預設長度為 30。

除非使用 COLLATE 子句指派特定的定序,否則使用 char 或 varchar 的物件將會被指派資料庫的預設定序。 定序可控制用來儲存字元資料的字碼頁。

支援多國語言的站台應該考慮使用 Unicode nchar 或 nvarchar 資料型別,以減少字元轉換的問題。 如果您使用char 或 varchar:

當預期資料行中的資料項目固定使用近似相同的大小時,請使用 nchar。


當預期資料行中的資料項目使用各種不同的大小時,請使用 nvarchar。
若在執行 CREATE TABLE 或 ALTER TABLE 時 SET ANSI_PADDING 為 OFF,則定義為 NULL 的 char 資料行會當作 varchar 來處理。

當伺服器字碼頁使用雙位元組字元時,儲存大小仍然為 n 個位元組。n 個位元組的儲存大小可能少於 n 個字元,視字元字串而定。

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
Abel



註冊時間: 2005-03-14
文章: 189
來自: 鹿港小鎮

第 6 樓

發表發表於: 星期一 三月 20, 2006 12:59 pm    文章主題: 引言回覆

感謝 syntech 大大詳盡的說明,真的好感動哦,您所提的都是小弟我
之前從未學習過的,感謝感謝,我會好好學習的。
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> SQL 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作