  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		CPS0204
 
 
  註冊時間: 2014-08-24 文章: 482
 
  第 1 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 9:58 am    文章主題: 請問sql指令 | 
				     | 
			 
			
				
  | 
			 
			
				檔頭TABLE=out1,檔身TABLE=OUT2
 
 
檔頭有 S_DATE,S_FNO(單號)
 
檔身有多筆的明細 S_FNO,F_SORT,PROC_NO,SALE_COST  (銷售單價)
 
請問:
 
我如何使用SQL 來JOIN連結檔頭,及檔身只抓第一筆(依F_SORT最前一筆)的指定
 
例:
 
SELECT A.*,B.SALE_COST FROM OUT1 A LEFT JOIN OUT2 B ON A.S_FNO=B.S_FNO
 
 
這樣的話,若單身有兩筆,則結果會有兩筆,我只想要的是出現(檔頭一筆+單身的第一筆單價,這樣組成一橫列記錄)
 
 
謝謝 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 2 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 3:00 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				VFP 的SQL ?
 
SQL SERVER 的 SQL ? _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		CPS0204
 
 
  註冊時間: 2014-08-24 文章: 482
 
  第 3 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 4:14 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 使用在sql server 2014上的謝謝 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 5:40 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				SELECT A.*,B.SALE_COST FROM OUT1 A  JOIN 
 
( select S_FNO,F_SORT,PROC_NO,SALE_COST from OUT2 D join ( select min(S_FNO+F_SORT) as S_FNO1 from out2 ) C  ;
 
on D.S_FNO+D.F_SORT = C.S_FNO ) B
 
ON  A.S_FNO=B.S_FNO 
 
 
 
差不多這樣. 自己DEBUG
 
 
總之就是先做一個 最小S_FNO+F_SORT 的CURSOR 與 B 先JOIN 一次,
 
就可以做出所有單身第一筆的CURSOR,
 
再跟表頭JOIN ,
 
就是結果.
 
 
 
N年前找資料的,不知道有沒有聰明一點的方法 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 5 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 9:10 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				如果是mysql 可以如下
 
 
SELECT OUT1.*,(select TOP 1 SALE_COST from OUT2 WHERE OUT2.S_FNO=OUT1.S_FNO ORDER BY F_SORT) AS SALE_COST
 
FROM OUT1
 
 
但不知 MS SQL 可不可以 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 6 樓
  | 
		
			
				 發表於: 星期五 三月 23, 2018 10:30 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				可以.
 
這個我用過.
 
但樓上的看起來很帥.   XD
 
 
集合 JOIN 集合 JOIN 集合,看起來多麼的"SQL"
 
 
----
 
沒比較過兩種速度.   XD _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 7 樓
  | 
		
			
				 發表於: 星期六 三月 24, 2018 10:50 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				帥是帥啦,
 
只是有點肥。
 
 
如今都講究節能省碳。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		marvin
 
 
  註冊時間: 2004-06-01 文章: 321
 
  第 8 樓
  | 
		
			
				 發表於: 星期六 三月 24, 2018 11:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				subquery 很好用, 但出錯也不知道, 一定要測試很多次.
 
 
但有時測試很多次也不知道有錯 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		CPS0204
 
 
  註冊時間: 2014-08-24 文章: 482
 
  第 9 樓
  | 
		
			
				 發表於: 星期六 三月 24, 2018 2:19 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 5樓大大方法可以了,謝謝 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		ckp6250
 
 
  註冊時間: 2004-07-30 文章: 1645
 
  第 10 樓
  | 
		
			
				 發表於: 星期六 三月 24, 2018 9:11 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | marvin 寫到: | 	 		   但出錯也不知道,一定要測試很多次。
 
但有時測試很多次,也不知道有錯。 | 	  
 
 
這是繞口令嗎?   | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |