Mysql 如何查询多个不相关的表?

Mysql 如何查询多个不相关的表?,mysql,sql,select,inner-join,Mysql,Sql,Select,Inner Join,基本上我有三个表,我想从这三个表中选择属性 SELECT Users.Name, Sales.SaleID, Return.ReturnAmount FROM Users INNER JOIN Sales ON Users.SaleID = Sales.SaleID 但是,退货与销售有关,而与用户无关 我应该如何包括退货金额?既然你说退货与销售有关系,那么下面的方法应该有效。只需查看您需要将Return与Sales连接在一起的列 SELECT Users.Name, Sales.SaleID

基本上我有三个表,我想从这三个表中选择属性

SELECT Users.Name, Sales.SaleID, Return.ReturnAmount
FROM Users
INNER JOIN Sales ON Users.SaleID = Sales.SaleID
但是,退货与销售有关,而与用户无关


我应该如何包括退货金额?

既然你说退货与销售有关系,那么下面的方法应该有效。只需查看您需要将Return与Sales连接在一起的列

 SELECT Users.Name, Sales.SaleID, Return.ReturnAmount
 FROM Users
 INNER JOIN Sales 
   ON Users.SaleID = Sales.SaleID
 INNER JOIN Return
   ON Return.SaleID = Sales.SaleID -- You said Return has relationship with Sales. 

给定这些表名,我能想到的最可能的查询是:

SELECT u.Name, s.SaleID, r.ReturnAmount
FROM Users u INNER JOIN
     Sales s
     ON u.UserID = s.UserID INNER JOIN
     Returns r
     on r.SaleID = s.SaleID;

这将是一个非常不寻常的数据布局,在
用户
表中有一个
SaleID

显示该表的布局,以及一些示例数据(通过编辑问题)。很容易
加入该表。只需在1=1时添加
joinreturn
。但是,如果该表不相关,您将如何确定应该显示哪些值?在最坏的情况下,笛卡尔乘积将返回
Sales
Users
表的所有行(具有有效的
JOIN
,乘以
Return
表中的行数。@SchmitzIT But Return与sales相关,因此sales.SaleID=Return.SaleID,但Return与用户无关我想知道为什么用户与销售之间的关系在
SalesID
上,尽管:
在Users.SaleID=sales.SaleID
上,一个销售有很多用户,每个用户都与一个销售相关?这看起来不是正确的设计。@user2525364-这是有意义的。因此,您
JOIN
he
使用这些条件将
表返回到集合中。
JOIN
不需要连接所有表(这是不可能的),而是将与集合的一部分相关的信息串在一起。