2013-03-17 52 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以更好地理解要使用的内容

如果性能是一个问题,还有其他一些方法。