[SQL ] 請問利用INNER JOIN串聯三張以上的資料表?

看板Database作者 (雞巴班長退伍囉)時間17年前 (2007/09/03 01:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
各位先進大家好: 小弟最近在練習php,便自己做了一個管帳系統, 來管理自己在四個不同銀行帳戶中「每個月的存款狀況」, 因此我一開始建立了四張資料表: 郵局:postoffice 華南:hwanan 合庫:unionbank 中信:chinatrust 每張資料表的欄位都長得一模一樣,有三個欄位: 日期:date 存款:deposit 備註:postscript 其中date是作為主鍵的欄位,並且限制使用者只能輸入「月底」的日期, (所以像2007-2-28就可以代表「96年2月」這樣。) 然後我想要建立一個查詢,來統計自己每個月的總存款(四個帳戶的存款加總) 這個查詢的五個欄位便分別是(日期,郵局存款,華南存款,合庫存款,中信存款) 至於最後還有一個「存款加總」的欄位,將來再用php來處理, 但是重要的是先將四個資料表串接起來, 首先我先查書了解了兩個資料表的串接法像下面這樣: SELECT postoffice.date, postoffice.deposit, hwanan.deposit FROM postoffice INNER JOIN hwanan ON postoffice.date = hwanan.date; 而上面這個查詢也成功的秀出來了, 但我卻突然發現我不知道如何再插入第三張和第四張資料表。 從前我是學ASP的,所以幾乎不存在這個問題,因為我會直接在access裡將查詢建立好, 再把access裡建好的SQL語法貼進ASP的code當中,可是這招到php裡卻不管用了, 似乎mysql並不能完全接受access裡通用的SQL語法? (而且mysql也不能像access用精靈來建立關聯,再「盜拷」它的SQL語法) 如果用access來寫這個查詢的話,大概像下面這樣: SELECT postoffice.date, postoffice.deposit, unionbank.deposit, hwanan.deposit, chinatrust.deposit FROM (([postoffice] INNER JOIN hwanan ON postoffice.date = hwanan.date) INNER JOIN unionbank ON postoffice.date = unionbank.date) INNER JOIN chinatrust ON postoffice.date = chinatrust.date; 但是寫進去後會出現supplied argument is not a valid MySQL result resource的訊息。 上網爬文或查書,也沒有類似的示例可供參考,不知能否請各位高手賜教?謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.45.58
文章代碼(AID): #16sl19GV (Database)