Re: [SQL ] 如何讓選出的結果不DISTINCT??

看板Database作者 (紅塵過客)時間18年前 (2007/10/17 11:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《canatmis (Guest~)》之銘言: : ※ 引述《motokare ( fool. )》之銘言: : : 大家好 : : 我用以下的SQL去搜尋 : : SELECT Discount FROM ChargeMaster WHERE ChargeID IN(SELECT ChargeID FROM : : RegTrans WHERE sys_id='1') ORDER BY ChargeID ASC : : Discount 是 ChargeMaster 底下的一個欄位 : : sys_id 是 RegTrans 底下的一個欄位 : : ChargeID 是 以上兩個 table 之間共有的欄位(其值互相對應) : : 現在我想要取 sys_id = 1 的 ChargeID : : 然後選出這些 ChargeID 相對應的 Discount : : 重複的話一定要列出來 : : 現在我光打 SELECT ChargeID FROM RegTrans WHERE sys_id='1' : : 可以選出重複的 ChargeID (重複的不會被省略) : : 可是用全部的語句下去跑 選出來的值卻好像有被 DISTINCT 後的效果 : : 我爬了文也上了 google 找了一下 卻沒找到相關訊息 : : 不知道有沒有人知道該怎麼解決?? 感覺就只差那麼一點點了 : : 先謝過了 謝謝!!! : 有個疑問,感覺你的那個ORDER BY這樣寫怪怪的 : 不是都ORDER BY SELECT出來的欄位的嗎怎是裡面的條件欄位,且寫在外面 : SELECT ChargeMaster.Discount : FROM ChargeMaster, RegTrans : WHERE sys_id = 1 AND ChargeMaster.ChargeID = RegTrans.ChargeID : ORDER BY Discount ASC : 請高手說明一下吧,我也不確定我寫這樣跑出來的是不是原PO要的 您這樣寫跑出來的結果應該根原PO之前的結果是一樣的, 因為在WHERE子句中,預設是用Inner Join, 剛剛有仔細看原PO的需求,他要的應該是Outer Join的結果 SELECT ChargeMaster.Discount FROM RegTrans Outer Join ON RegTrans.ChargeID = ChargeMaster.ChargeID Where sys_id = 1 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.51.73
文章代碼(AID): #175NwRBQ (Database)
討論串 (同標題文章)
文章代碼(AID): #175NwRBQ (Database)