要從兩個table取資料以建立一個query要如何下其sql? |
答題得分者是:deity
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
我有兩個table,一個是進貨明細表,一個是退貨表,其欄位名及資料如下 進貨明細表(進貨單號,項目序號是primary key)
進貨單號 項目序號 商品代號 進貨數量 進貨總額
1000 1 ddp 5 500
1000 2 wxy 6 300
1001 1 ddp 10 900
1001 2 wxy 3 150 退貨表(退貨時間是primary key,進貨單號是foreign key參考進貨明細表的進貨單號)
退貨時間 進貨單號 商品代號 退貨數量 退貨總額
2005/1/1 1001 ddp 2 180
2005/1/3 1001 ddp 3 270 如何下sql以建立一個query使其顯示如下的內容 ?
進貨單號 項目序號 商品代號 進貨數量 進貨總額 退貨數量 退貨總額
1000 1 ddp 5 500 0 0
1000 2 wxy 6 300 0 0
1001 1 ddp 10 900 5 450
1001 2 wxy 3 150 0 0 ps:工具是delphi 7 pro,用ado元件存取access的.mdb資料庫資料表
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
spencerkuo
一般會員 發表:21 回覆:34 積分:11 註冊:2003-08-15 發送簡訊給我 |
引言: 我有兩個table,一個是進貨明細表,一個是退貨表,其欄位名及資料如下 進貨明細表(進貨單號,項目序號是primary key) 進貨單號 項目序號 商品代號 進貨數量 進貨總額 1000 1 ddp 5 500 1000 2 wxy 6 300 1001 1 ddp 10 900 1001 2 wxy 3 150 退貨表(退貨時間是primary key,進貨單號是foreign key參考進貨明細表的進貨單號) 退貨時間 進貨單號 商品代號 退貨數量 退貨總額 2005/1/1 1001 ddp 2 180 2005/1/3 1001 ddp 3 270 如何下sql以建立一個query使其顯示如下的內容 ? 進貨單號 項目序號 商品代號 進貨數量 進貨總額 退貨數量 退貨總額 1000 1 ddp 5 500 0 0 1000 2 wxy 6 300 0 0 1001 1 ddp 10 900 5 450 1001 2 wxy 3 150 0 0 ps:工具是delphi 7 pro,用ado元件存取access的.mdb資料庫資料表SELECT A.進貨單號, A.項目序號, A.商品代號, A.進貨數量, A.進貨總額, B.退貨數量, B.退貨總額 FROM 進貨明細表 A LEFT OUTER JOIN 退貨表 B ON A.進貨單號 = B.進貨單號 AND A.商品代號 = B.商品代號 這樣寫也可以 |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
引言:執行結果是 進貨單號 項目序號 商品代號 進貨數量 進貨總額 退貨數量 退貨總額 1000 1 ddp 5 500 空白 空白 1000 2 wxy 6 300 空白 空白 1001 1 ddp 10 900 5 450 1001 2 wxy 3 150 空白 空白 而不是如下所示,請問如何讓那些空白設定成0 ? 進貨單號 項目序號 商品代號 進貨數量 進貨總額 退貨數量 退貨總額 1000 1 ddp 5 500 0 0 1000 2 wxy 6 300 0 0 1001 1 ddp 10 900 5 450 1001 2 wxy 3 150 0 0引言: 我有兩個table,一個是進貨明細表,一個是退貨表,其欄位名及資料如下 進貨明細表(進貨單號,項目序號是primary key) 進貨單號 項目序號 商品代號 進貨數量 進貨總額 1000 1 ddp 5 500 1000 2 wxy 6 300 1001 1 ddp 10 900 1001 2 wxy 3 150 退貨表(退貨時間是primary key,進貨單號是foreign key參考進貨明細表的進貨單號) 退貨時間 進貨單號 商品代號 退貨數量 退貨總額 2005/1/1 1001 ddp 2 180 2005/1/3 1001 ddp 3 270 如何下sql以建立一個query使其顯示如下的內容 ? 進貨單號 項目序號 商品代號 進貨數量 進貨總額 退貨數量 退貨總額 1000 1 ddp 5 500 0 0 1000 2 wxy 6 300 0 0 1001 1 ddp 10 900 5 450 1001 2 wxy 3 150 0 0 ps:工具是delphi 7 pro,用ado元件存取access的.mdb資料庫資料表SELECT A.進貨單號, A.項目序號, A.商品代號, A.進貨數量, A.進貨總額, B.退貨數量, B.退貨總額 FROM 進貨明細表 A LEFT OUTER JOIN 退貨表 B ON A.進貨單號 = B.進貨單號 AND A.商品代號 = B.商品代號 這樣寫也可以 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
ry_lee您好:
试试如下:
SELECT A.進貨單號, A.項目序號, A.商品代號, A.進貨數量, A.進貨總額, (SELECT IIF(ISNULL(SUM(B.退貨數量)),0,SUM(B.退貨數量)) FROM 退貨表 AS B WHERE (A.進貨單號=B.進貨單號) AND (A.商品代號=B.商品代號)) AS 退貨數量, (SELECT IIF(ISNULL(SUM(B.退貨總額)),0,SUM(B.退貨總額)) FROM 退貨表 AS B WHERE (A.進貨單號=B.進貨單號) AND (A.商品代號=B.商品代號)) AS 退貨總額 FROM 進貨明細表 AS A应该是您要的,试试看 <> ============================ 为什么经过多年以后,得失的过程如此冷漠 ============================ > |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |