上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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 文章: 2158
第 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 文章: 4225 來自: 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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
Abel
註冊時間: 2005-03-14 文章: 189 來自: 鹿港小鎮
第 6 樓
|
發表於: 星期一 三月 20, 2006 12:59 pm 文章主題: |
|
|
感謝 syntech 大大詳盡的說明,真的好感動哦,您所提的都是小弟我
之前從未學習過的,感謝感謝,我會好好學習的。 |
|
回頂端 |
|
|
|