MySQL 3 表重叠查询

标签 mysql duplicates

这里还有另外 3 个表查询。我有餐 table 预订、客户服务和账单。

我正在尝试从预订中选择房间类型,并从计费“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";

最佳答案

使用 UNION ALL 而不是仅使用 UNION

参见UNION Syntax

关于MySQL 3 表重叠查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1845334/

相关文章:

mysql - 从 MySQL 验证用户名和密码

java - 避免/解决 Maven 项目中的重复类

duplicates - 如何用 Simhash 算法比较文档的相似度?

ios - 当通过 UIRefreshControl 调用时,UITableView 重新加载会重复 NSMutableArray 的值

sql - 在 SQL Server 中查找重复行

javascript - 如何将索引为 0 的重复数组合并为一个数组 javascript

mysql - 从 mysql 表中检索信息

c# - 未将对象引用设置为对象实例 - MySqlCommand

php - 如何处理 mysql 查询中的单引号

php - mySQL 这段代码有问题吗?