【问题标题】:outer join in access外部加入访问
【发布时间】:2013-09-10 06:32:36
【问题描述】:

我一共有3张桌子,分别是table1、table2和3。

table2 和 3 中的数据非常庞大,所以我想根据键外部连接 table2 和 3,例如在加入 table1 之前,成员编号和 id 编号首先。

    SELECT 
A.field1, 
A.field2, 
A.field3, 
A.field20,

B.specialfield1, B.specialfield2,

C.specialfield7, B.specialfield8

FROM (table1 AS A LEFT JOIN table2 AS B 
ON (A.field1 = B.field1) 
AND (A.field2 = B.field2) 
AND (A.field3 = B.field3)) 
LEFT JOIN table3 AS C 
ON (A.field1 = C.field1) 
AND (A.field2 = C.field2) 
AND (A.field3 = C.field3))

我能做什么?我正在使用 Access97,似乎我从 SQL 服务器知道的语法可能无法正常工作。提前致谢!!

干杯 VB

【问题讨论】:

    标签: ms-access outer-join ms-access-97


    【解决方案1】:

    嗯..我相信这应该可行:

    SELECT Table1.[field1], Table1.[field2], Table1.[field3], Table2.[field 1], Table3.[field 2]
    FROM (Table1 INNER JOIN Table2 ON Table1.sno = Table2.fk_table1) INNER JOIN Table3 ON Table1.sno = Table3.fk_table1;
    

    注意:Table1.sno 是主键。

    【讨论】:

      【解决方案2】:

      您要加入的字段的数据类型是什么? 这将有助于我们获得一个想法。

      如果您的大表都已编入索引或均未编入索引,请使用 HASH JOIN。它的性能也提高了 链接在这里: http://www.sqlserverblogforum.com/2011/10/merge-join-vs-hash-join-vs-nested-loop-join/

      【讨论】:

        猜你喜欢
        • 2019-12-14
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        • 2011-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        相关资源
        最近更新 更多