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

VIEW 可以 JOIN其他TABLE嗎?

尚未結案
Jessie
一般會員


發表:6
回覆:8
積分:2
註冊:2004-01-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-26 10:43:21 IP:61.66.xxx.xxx 未訂閱
請問VIEW 可以再JOIN其他TABLE嗎? 如果可以,有沒該注意的事項? 當我在用VIEW JOIN TABLE時,它就會顯示錯誤訊息 [包含欲聯結之資料表的查詢中不得指定外部聯結運算子。] 或 [包含欲聯結之資料表的查詢中不得指定外部聯結運算子。] 請問大概會是哪邊有問題, 我的SQL語法如下 SELECT * FROM TEST_VIEW B INNER JOIN TABLE1 Y ON B.BND_NO = Y.BND_NO AND B.BND_ID =Y.BND_ID INNER JOIN TABLE2 D ON Y.BND_NO = D.BND_NO WHERE (Y.YTM_DATE = '11/04/2004') and (b.FND_ID = '02') 謝謝!! 發表人 - jessie 於 2005/01/26 10:48:05
stone0924
一般會員


發表:3
回覆:17
積分:14
註冊:2002-08-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-26 13:24:54 IP:211.21.xxx.xxx 未訂閱
試試下列是否可以-- SELECT B.* FROM TEST_VIEW B ,TABLE1 Y,TABLE2 D where (b.FND_ID = '02') and (Y.YTM_DATE = '11/04/2004') and B.BND_NO = Y.BND_NO AND B.BND_ID =Y.BND_ID and Y.BND_NO = D.BND_NO
Jessie
一般會員


發表:6
回覆:8
積分:2
註冊:2004-01-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-26 13:37:25 IP:61.66.xxx.xxx 未訂閱
謝謝你的回答^^ 其實這樣是可以的, 這是我原本的寫法, 但我還想要outer join別的Table 所以才改寫成上面那樣, 結果就有問題, 請問還有別的方法嗎 謝謝你
stone0924
一般會員


發表:3
回覆:17
積分:14
註冊:2002-08-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-26 19:01:30 IP:211.21.xxx.xxx 未訂閱
Jessie 你好-- 是否請再試下列是否可以, (Where 子句中不能有 Y 的條件,Table1 先 Inner Join Table2 得出得結果在與 View 作 Inner Join.) SELECT * FROM TEST_VIEW B INNER JOIN TABLE1 Y INNER JOIN TABLE2 D ON Y.BND_NO = D.BND_NO ON B.BND_NO = Y.BND_NO AND B.BND_ID =Y.BND_ID and (Y.YTM_DATE = '11/04/2004') where (b.FND_ID = '02')
Jessie
一般會員


發表:6
回覆:8
積分:2
註冊:2004-01-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-27 17:30:40 IP:61.66.xxx.xxx 未訂閱
你好,試過還是不行耶, 好怪 = = 謝謝你^^
stone0924
一般會員


發表:3
回覆:17
積分:14
註冊:2002-08-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-28 13:10:08 IP:211.21.xxx.xxx 未訂閱
View 的內容是否可貼上來?
Jessie
一般會員


發表:6
回覆:8
積分:2
註冊:2004-01-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-02-03 11:51:24 IP:61.66.xxx.xxx 未訂閱
你好,因沒收到系統發出的信, 所以以為都沒有回應,不好意思 以下是view的內容 SELECT D .BND_REF_NO, D .BND_NAME, D .BND_KIND, D .BND_ISSUEDATE, D .BND_DUEDATE, D .BND_ICALTYPE, D .BND_MARKETPRICE, D .BND_INTTYPE, D .BND_COUPON_RATE, D .BND_CBTYPE, (CASE D .BND_INTTYPE WHEN '1' THEN '半年' WHEN '2' THEN '一年' WHEN '3' THEN '到期' END) sIntType, (CASE D .BND_ICALTYPE WHEN '1' THEN '單利' WHEN '2' THEN '複利' END) sICalType, B.*,(B.BDB_VALUE - B.BDB_VALUE_SALE) Value_B, (B.BDB_COST - B.BDB_COST_SALE) COST_B, (B.BDB_PAYINT - B.BDB_PAYINT_SALE) PAYINT_B FROM ACC_BOND_BALANCE B, ACC_BOND D WHERE B.BND_NO *= D .BND_NO 謝謝你。
stone0924
一般會員


發表:3
回覆:17
積分:14
註冊:2002-08-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-02-04 13:22:27 IP:211.21.xxx.xxx 未訂閱
你好-- FROM ACC_BOND_BALANCE B, ACC_BOND D WHERE B.BND_NO *= D .BND_NO 在 View 裡面 已有 Left outer join, 所以會產生錯誤!
Jessie
一般會員


發表:6
回覆:8
積分:2
註冊:2004-01-28

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-02-04 14:08:45 IP:61.66.xxx.xxx 未訂閱
恩恩,果然,沒注意到 謝謝你^^
系統時間:2024-06-18 22:05:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!