【发布时间】:2017-02-15 23:20:03
【问题描述】:
我四处寻找类似的问题,但如果它存在,我还没有找到。
我不认为这是重复的,因为我试图从 TableB 中获取多行并与 tableA 中的单行组合,这在另一个问题中没有显示。
考虑下表。
|TableA |
|id value1|
|1 |3 |
|2 |10 |
|3 |10 |
|4 |6 |
|5 |10 |
|TableB |
|id Aid value2|
|1 |1 |14 |
|2 |1 |93 |
|3 |2 |30 |
|4 |3 |12 |
|5 |3 |62 |
|6 |3 |2 |
|7 |4 |2 |
|8 |4 |29 |
|9 |5 |50 |
我希望每一行都来自 TableA WHERE value1=10,但我也希望它们与 TableB 中的所有行连接,这些行具有这些 TableA 行的 id 作为它们的 Aid 值。
基本上,我想取回 3 行:TableA 第 2、3 和 5 行,其中第 1 行与 TableB 的第 3 行连接,第 2 行与 TableB 的第 4、第 5 和第 6 行连接,第 3 行与 TableB 的第 9 行连接。
我该怎么做呢?一个查询甚至可能吗?如果可以,结果会是什么?
这大概是我得到的...
SELECT a.*, b.* FROM TableA AS a JOIN TableB AS b ON a.id=b.Aid WHERE a.value1=10
【问题讨论】:
-
欺骗目标,第二个答案,来自丹尼尔
-
感谢您的帮助,但由于问题本身现在说明的原因,我认为这并不是真正的重复。
-
我相信它已显示并且是带有别名的简单连接语法,决定显示哪些列以及 where 子句。如果您在一小时内仍然为此苦苦挣扎,请在给sqlfiddle 提供网址后用@ 符号向我发送消息@