【发布时间】:2012-10-19 08:23:57
【问题描述】:
我敢打赌这是一个非常简单的答案,因为我是 SQL 的菜鸟。
表 1 有第 1 列(标准 1)第 2 列(标准 2)第 3 列(指标 1)
表 2 具有第 1 列(标准 1)第 2 列(标准 2)第 3 列(特定于 table2.criteria2 的指标 2)
对于表格上的每个标准 1,标准 2 的值可以有 1 - 5 个。
当我在这里使用 join 语句时(假设我在此之前将表 1 标识为 One):
Select WeddingTable, TableSeat, TableSeatID, Name, Two.Meal
FROM table1 as One
inner join table2 as Two
on One.WeddingTable = Two.WeddingTable and One.TableSeat = Two.TableSeat
即使我知道有 3 或 4 种组合,我也只能获得标准 1/标准 2 组合中的一种。如何获得所有组合?
以举办婚礼为例,table 1 基本上是座位表,table 2 是每个桌子/座位选择的用餐选项。表 1 有方便的 TableSeatID,但表 2 没有可比较的 ID。
样本数据:
结果需要显示所有 4 行,即 WeddingTable 001 的所有 3 个座位和 WeddingTable 002 的一个座位。
期望的结果:
【问题讨论】:
-
显示样本数据、预期结果和实际结果。
-
您想要匹配任一条件的值吗?如果是这样,请使用 OR 而不是 AND
-
@tarheel 请提供示例数据,我们不知道您要在哪里搜索符合条件的值。
-
根据您的示例数据,连接条件中的
AND是正确的。如果您没有得到正确的结果,您的查询中可能还有其他问题。请按照您的尝试发布您的实际查询... -
您的原始查询works for me。
标签: sql sql-server join