【发布时间】:2014-02-08 14:13:52
【问题描述】:
基本上我有三个表,我想从所有三个表中选择属性。
SELECT Users.Name, Sales.SaleID, Return.ReturnAmount
FROM Users
INNER JOIN Sales ON Users.SaleID = Sales.SaleID
但是,Return 与 Sales 有关系,但与 Users 没有关系。
如何包含 returnAmount?
【问题讨论】:
-
显示表格的布局,以及一些示例数据(通过编辑问题)。
-
JOIN表很容易。只需添加JOIN Return ON 1=1。但是,如果该表不相关,您将如何确定应该显示哪些值?在最坏的情况下,您最终会得到一个笛卡尔积,返回Sales和Users表的所有行(具有有效JOIN的行数乘以Return表中的行数。 -
@SchmitzIT 但退货与销售有关,例如Sales.SaleID = Return.SaleID,但退货与用户无关
-
我想知道为什么用户和销售之间的关系是
SalesIDON Users.SaleID = Sales.SaleID那么,一个销售有很多用户,每个用户都与一个销售相关?这看起来不正确的设计。 -
@user2525364 - 这是有道理的。所以你
JOIN他Return使用这些标准来设置表。JOIN不需要连接所有表(那是不可能的),而是将与集合的一部分相关的信息串在一起。
标签: mysql sql select inner-join