全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1285
推到 Plurk!
推到 Facebook!

一個SQL語法應用之問題,求教!

尚未結案
jyc
一般會員


發表:5
回覆:7
積分:2
註冊:2003-10-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-26 23:08:06 IP:61.62.xxx.xxx 未訂閱
各位大大! 弟有一需求如下: 出貨主檔:只要查某一張單據 關聯: 客戶基本檔(單筆)、出貨明細檔(多筆不固定)和額外費用檔(多筆不固定) 請教語法如何下!
kagaya
中階會員


發表:74
回覆:175
積分:59
註冊:2002-12-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-27 00:28:40 IP:211.76.xxx.xxx 未訂閱
單筆一個查詢 多筆一個查詢 應該是沒辨法合在一起 合在一起那你單筆的那個就會變成多筆了
------
KUSO 無處不在
Chance36
版主


發表:31
回覆:1033
積分:792
註冊:2002-12-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-27 02:11:37 IP:203.204.xxx.xxx 未訂閱
jyc 你好
查詢出貨明細(OK)
  Select * From 出貨主檔 a 
       JOIN 出貨明細檔 b ON (a.訂單編號=b.訂單編號)
  Where a.訂單編號='XXXX'    查詢額外費用明細(OK)
  Select * From 出貨主檔 a 
       JOIN 額外費用明細檔 b ON (a.訂單編號=b.訂單編號)
  Where a.訂單編號='XXXX'
但要出貨明細和額外費用明細在一個SQL中處理,好像很難,除非你的額外費用明細是關聯到出貨明細的,意即費用明細是依每項出貨明細計費的,而不是以出貨單為計費基礎的狀況才可以(三層關聯) , 希望你能了解。 祝好運............
jyc
一般會員


發表:5
回覆:7
積分:2
註冊:2003-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-27 11:06:29 IP:61.62.xxx.xxx 未訂閱
chance36 您好! 您說的對,弟也是覺得出貨明細、額外費用檔跟出貨主檔下一個SQL語法好像怪怪的,但弟是在 Crystal Report 報表上要印出的,雖然一開始就用變通的方法處理好了,不過額外費用的統計和換算無法在報表裡自動化完成,故尋求是否有前輩有SQL語法的解決之道!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-27 16:28:22 IP:210.65.xxx.xxx 未訂閱
Hi:    如果是單一家客戶可以這樣用(Oracle 8.0.5.0.0)
SELECT  T1.ID,
        T1.NAME NAME1,
        T2.NAME NAME2
FROM   (SELECT  ROWNUM ROW_NUM,
                T.ID,
                T.NAME
        FROM    TABLE1      T,
                SYS.DUAL    D
        WHERE   T.ID = :P_ID
        AND     T.NAME = D.DUMMY( ))T1,
       (SELECT  ROWNUM ROW_NUM,
                T.ID,
                T.NAME
        FROM    TABLE2      T,
                SYS.DUAL    D
        WHERE   T.ID = :P_ID
        AND     T.NAME = D.DUMMY( ))T2
WHERE   T1.ID = T2.ID( )
AND     T1.ROW_NUM = T2.ROW_NUM( )
UNION
SELECT  T2.ID,
        T1.NAME NAME1,
        T2.NAME NAME2
FROM   (SELECT  ROWNUM ROW_NUM,
                T.ID,
                T.NAME
        FROM    TABLE1      T,
                SYS.DUAL    D
        WHERE   T.ID = :P_ID
        AND     T.NAME = D.DUMMY( ))T1,
       (SELECT  ROWNUM ROW_NUM,
                T.ID,
                T.NAME
        FROM    TABLE2      T,
                SYS.DUAL    D
        WHERE   T.ID = :P_ID
        AND     T.NAME = D.DUMMY( ))T2
WHERE   T2.ID = T1.ID( )
AND     T2.ROW_NUM = T1.ROW_NUM( )
ORDER BY
        1,2,3
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-27 16:47:20 IP:61.221.xxx.xxx 未訂閱
jyc 你好: 顯示方式很多,或許你可以考慮用樹狀圖 客戶基本檔 |-出貨明細檔項目 額外費用檔項目 |-出貨明細檔項目 額外費用檔項目 |-出貨明細檔項目 額外費用檔項目 |-出貨明細檔項目 額外費用檔項目
------
======================
昏睡~
不昏睡~
不由昏睡~
jyc
一般會員


發表:5
回覆:7
積分:2
註冊:2003-10-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-27 17:36:02 IP:61.62.xxx.xxx 未訂閱
哇! Fishman 您好厲害! 不過弟只會SQL SERVER 2000! 另眾前輩!弟想要如下之效果: 出貨單號:xxx .... 客戶編號:xxx 客戶名稱:xxx <===== 關連二個檔 ========================================================= 產品編號 名稱 單位 數量 單價 小計 . . <===== 關連二個檔 . ========================================================= 總數量:xxx 合計:xxx 元 <=== 由報表檔做就可,不用於SQL語法中 額外費用: 1.運費 xxx 元 2.報關費 xxx 元 <===== 關連一個檔 . . . ------------------------- 總計: xxxxx 元 <=== 由報表檔做就可,不用於SQL語法中 1.以出貨主檔.出貨單號 跟 出貨明細檔.出貨單號 Link 2.以出貨主檔.客戶編號 跟 客戶基本.客戶編號 Link 3.以出貨主檔.出貨單號 跟 額外費用檔.出貨單號 Link 4.以出貨明細檔.產品編號 跟 產品基本檔.產品編號 Link
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-27 21:35:43 IP:61.70.xxx.xxx 未訂閱
引言: chance36 您好! 您說的對,弟也是覺得出貨明細、額外費用檔跟出貨主檔下一個SQL語法好像怪怪的,但弟是在 Crystal Report 報表上要印出的,雖然一開始就用變通的方法處理好了,不過額外費用的統計和換算無法在報表裡自動化完成,故尋求是否有前輩有SQL語法的解決之道!
用 Crystal Report 子報表的功能 分成二個 sql 查詢來作可以較多變化
系統時間:2024-11-23 9:52:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!