線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1274
推到 Plurk!
推到 Facebook!

請教 SQL 語法

答題得分者是:Coffee
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-25 23:54:48 IP:61.31.xxx.xxx 訂閱
M/D 結構,我下了一段 SQL 

Select M.A1,M.A2,M.A3,Sum(D.Qty) from Master as M,Details as D
where M.A1=D.A1
Group by M.A1,M.A2,M.A3
Order by Sum(D.Qty) DESC

這個問題是如果Details資料為空,就不會回傳任何資料。
如何既使在 Details 資料為空,仍然回傳 Master 的資料?

請指教!謝謝
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-26 08:07:10 IP:203.67.xxx.xxx 訂閱
Left Outer Join?
如果是SQL Server,將M.A1=D.A1改成M.A1*=D.A1
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-07-26 08:21:42 IP:61.220.xxx.xxx 訂閱
 
SELECT count(*) from Details
...(略)
if 總列數不為 0 then 
  Select M.A1,M.A2,M.A3,Sum(D.Qty)  from Master as M,Details as D
  where M.A1=D.A1
  Group by M.A1,M.A2,M.A3
  Order by Sum(D.Qty) DESC
else
  Select M.A1,M.A2,M.A3 from Master as M
  Group by M.A1,M.A2,M.A3
end if 
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-07-26 13:30:43 IP:61.222.xxx.xxx 訂閱
to Pc 兄 我是指該品名沒有任何Details 情況下。不過感謝您的關注。

to Coffee 兄 我的不支持 *= or =* Outer Join ,不過你提醒了我用 Jion 運算。
所以我用 LEFT JOIN

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 compopr table2.field2


太久沒用都會忘記。
系統時間:2024-05-18 22:17:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!