另一个3表查询在这里。我预订了一张桌子,customer_service和帐单。
我正在尝试从预订中选择房间类型,并从计费"ON“r.ID = b.rID和customer_services中选择其他一些字段(如下所示)。
联合之前的第一部分运行得很好,但是当添加联合时,我得到了一个奇怪的副作用,任何带有重复的r.Roomtype、b.Quantity、b.UnitPrice和b.Total的结果都会被删除。
我如何避免这种情况,因为它们会有不同的b.reservationID,而我想要副本?
SELECT r.RoomType, b.Quantity, b.UnitPrice, b.Total FROM Billing b, Reservation r
WHERE b.ReservationID = r.ReservationID
AND b.UserName = "Stuart"
AND b.Paid = "0"
UNION
SELECT cs.ServiceName, b.Quantity, b.UnitPrice, b.Total FROM Customer_Service cs, Billing b
WHERE b.CustomerServiceID = cs.CustomerServiceID
AND b.UserName = "Stuart"
AND b.Paid = "0";发布于 2009-12-04 15:16:43
使用UNION ALL而不只是UNION
请参阅UNION Syntax
https://stackoverflow.com/questions/1845334
复制相似问题