我有两张桌子
,我想将 Table_A 左连接到 Table_B(结果:Table_A 中的所有行,仅 Table_B 中的匹配行)
要求
我已经在这里尝试过这个论坛,发现另一个线程连接了聚合表,但这不起作用,因为它也聚合了 Table_A,并且在不聚合 Table_A 的情况下尝试相同的操作不起作用。
我的尝试:
Select * From TABLE-A
left join
(select TABLE-B.Key, TABLE-B.Text from TABLE-B
group by TABLE-B.Key, TABLE-B.Text
)
On Left TABLE-A.Key = TABLE-B.Key
首先,您连接表,但您的选择返回字段值。 您也没有指出您正在使用什么数据库,该数据库可能有所不同。
这是我在 MS-Access 中所做的:
创建一个新的View(查询)来处理聚合;我称之为 vTableB:
选择 [TABLE-B].Key, [TABLE-B].Text1 来自[表-B] GROUP BY [TABLE-B].Key, [TABLE-B].Text1;
针对表 A 和视图执行所需的联接: 选择[表-A].* 从 [TABLE-A] LEFT JOIN vTableB ON [TABLE-A].Key = vTableB.Key;
进行更改以使用您所需的字段名称(我不建议这样做,因为可能与其他关键字冲突)并查看是否获得所需的结果。