2015-08-27 29 views
-3

先生, 我連接到我的數據庫&我有三個表像,的MySQL - 顯示所有行從多個表MACHING價值

tbl_borrow:

borrow_id | member_id | date_borrow   | due_date 
490   15   2015-08-26 18:34:18  01/09/2015 
491   15   2015-08-26 18:34:27  30/08/2015 
500   20   2015-08-27 19:12:20  01/09/2015 

tbl_borrowdetails:

boook_id | borrow_id | borrow_status   | date_return 
34    490   pending     
1    491   returned     30/08/2015 

and,tbl_book:

book_id | book_title 
34  Boook Name 01 
1   Book Name 02 

現在我只需要一個代碼,一個memebr_id從這些表像返回值:

book_id | book_title | borrow_status | date_borrow  | due_date| date_return 
34  Book Name 01 pending  2015-08-26 18:34:18 01/09/2015 
1   Book Name 02 returned  2015-08-26 18:34:27 30/08/2015 30/08/2015 

現在請幫我做到這一點。我是一個初學者&非常新的這種類型或情況。提前致謝。

+3

回到書籍並瞭解'JOIN'。所以SO不會爲你編寫代碼,你必須學習基礎知識,進行嘗試,然後張貼你想要的東西,如果你不能工作的話。 – Barmar

+0

如果您已經嘗試過某些功能,請使用您的代碼編輯您的問題及其返回內容。 – rlanvin

+0

先生,我嘗試加入左邊,但不能讓這張表看起來像。我發現像這樣: book_id | borrow_status | date_borrow | due_date | date_return 不能得到book_title,我的代碼只是返回一行!不是member_id的所有行。 –

回答

0

使用LEFT OUTER連接: -

SELECT a.book_id, 
     a.book_title, 
     b.borrow_status, 
     c.date_borrow, 
     c.date_due, 
     b.date_return 
FROM tbl_book a 
LEFT OUER JOIN tbl_borrowdetails b 
ON a.book_id = b.boook_id 
LEFT OUTER JOIN tbl_borrow c 
ON b.borrow_id = c.borrow_id 

但似乎很奇怪,你的表似乎有借基本借上述細節。

+0

謝謝,先生, 我已經試過你的代碼和時, echo $ row ['borrow_status'];我發現未定義的變量警告。 上次我嘗試過, $ sql =「SELECT * FROM borrowdetails WHERE borrow_id = $ borrow_id」; echo $ row ['borrow_status']; 它返回未定義的變量警告。 –

+0

借閱狀態存在錯誤(現已修復)。但我希望能給出一個錯誤,而不是什麼都不返回。而不是使用echo嘗試print_r($ row); – Kickstart

0
SELECT * 
FROM tbl_borrow t1 
JOIN tbl_borrowdetails t2 ON t1.borrow_id=t2.borrow_id 
JOIN tbl_book t3 ON t2.boook_id=t3.book_id;