2013-03-17 31 views
2

我有三個表如下面的截圖: dataset查詢三個表輸出什麼

但是,當我想執行下面的查詢,我沒有得到任何結果,即使是在所有三個表中的數據:

query

這裏是所生成的代碼:

SELECT Clients.ClientID, Clients.FirstName, Clients.Surname, Clients.Internal, Clients.Organisation, Clients.LandlineNo, Clients.MobileNo, Clients.Address1, Clients.Town, 
       Clients.Postcode, Clients.Email, Clients.NHS, Clients.PurchaseOrderNumber, Bookings.Date, Bookings.Timebegan, Bookings.Timefinished, Bookings.Price, 
       Bookings.Repeats, Bookings.Rweeks, Bookings.Rdays, Bookings.Rmonths, Bookings.Occurrences, Rooms.Roomname 
FROM  Clients INNER JOIN 
       Bookings ON Clients.ClientID = Bookings.ClientID INNER JOIN 
       Rooms ON Bookings.RoomID = Rooms.RoomID 
+6

由於您正在使用內部連接,所有表都需要包含數據。嘗試將連接更改爲左外部連接並查看是否獲得了您正在查找的結果。 – 2013-03-17 23:31:02

+0

非常感謝您的幫助 – Hamoudy 2013-03-17 23:47:50

回答

1
Try 

SELECT * 
FROM  Clients LEFT OUTER JOIN 
     Bookings ON Clients.ClientID = Bookings.ClientID 
     LEFT OUTER JOIN Rooms ON Bookings.RoomID = Rooms.RoomID 

請參閱Visual Explanation of SQL Join以更好地理解要使用的內容

如果性能是一個問題,還有其他一些方法。