【问题标题】:access sql query to select from multiple tables访问 sql 查询以从多个表中进行选择
【发布时间】:2020-05-08 06:13:30
【问题描述】:

我是 sql 新手,有一个简单的问题。我有两个表,t1 和 t2,都有相同的字段 A、B、C、D

我想创建一个 sql

select 
   * 
from t1 
where (t1.A exist in t2.A) 
AND (combination (ABC) from t1 not exist in t2) 

我正在使用 access 2013

谢谢!

【问题讨论】:

    标签: sql ms-access


    【解决方案1】:

    您可以尝试使用存在逻辑:

    SELECT t1.*
    FROM table1 t1
    WHERE
        EXISTS (SELECT 1 FROM table2 t2 WHERE t2.A = t1.A) AND
        NOT EXISTS (SELECT 1 FROM table2 t2 WHERE t2.B = t1.B AND t2.C = t1.C);
    

    【讨论】:

    • 嗨蒂姆,感谢您的帮助。我正在使用 Access 并使用您的 sql 遇到 t2 中每个字段的“输入参数值”消息。
    • @Solitude 我认为这是一个表别名问题,请查看我的更新答案以了解您的实际查询可能是什么样的。
    【解决方案2】:

    这样的事情可能会奏效:

    SELECT *
    FROM t1
    WHERE 
        A in (SELECT A from t2) AND
        NOT EXISTS (
            SELECT *
            FROM t2
            WHERE t1.B = t2.B AND
            t1.C = t2.C AND
            t1.D = t2.D
        );
    

    【讨论】:

    • 您好,阿尔贝托,感谢您的帮助。我正在使用 Access 并使用您的 sql 遇到 t2 中每个字段的“输入参数值”消息。
    • t2 是真正的表名吗?如果您收到该错误,可能是因为您使用 reserved word 作为表名
    猜你喜欢
    • 2020-06-24
    • 1970-01-01
    • 2012-10-15
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多