| 上一篇主題 :: 下一篇主題   | 
	
	
	
		| 發表人 | 
		內容 | 
	
	
		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 文章: 2160
 
  第 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 文章: 4252 來自: 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 大大詳盡的說明,真的好感動哦,您所提的都是小弟我
 
之前從未學習過的,感謝感謝,我會好好學習的。 | 
			 
		  | 
	
	
		| 回頂端 | 
		 | 
	
	
		  | 
	
	
		 |