【问题标题】:Access is refusing to run an query with linked table?Access 拒绝使用链接表运行查询?
【发布时间】:2010-05-22 20:48:21
【问题描述】:

我有 3 个表,如下所示

cash_credit

Bank_Name-------in_date-------Com_Id---Amount
America Bank    15/05/2010      1       200
HSBC            17/05/2010      3       500

Cheque_credit
Bank_Name-----Cheque_Number-----in_date-------Com_Id---Amount
America Bank   74835435-5435    15/05/2010      2       600
HSBC           41415454-2851    17/05/2010      5       100

Companies
com_id----Com_Name
1         Ebay
2         Google
3         Facebook
4         Amazon

当我尝试创建如下查询时,Companies 表是一个链接表

SELECT cash_credit.Amount, Companies.Com_Name, cheque_credit.Amount
FROM cheque_credit INNER JOIN (cash_credit INNER JOIN Companies ON cash_credit.com_id = Companies.com_id) ON cheque_credit.com_id = Companies.com_id;

我收到一条错误消息,提示我的内部联接不正确,此查询是使用 Access 2007 查询设计创建的 错误是

Type mismatch in expression

然后我认为它可能是内连接所以我尝试了左连接,但我得到一个错误,这个方法没有使用

JOIN expression is not supported

我很困惑导致这一切的问题出在哪里

【问题讨论】:

    标签: sql ms-access ms-access-2007


    【解决方案1】:

    com_Id 列的数据类型在所有 3 个表中是否相同/一致?
    如果不是,请更正数据类型并使其与该列一致。

    这应该可以为您解决问题。

    【讨论】:

    • 谢谢,我的错误是我在 cash_credit 和 cheque_credit 文本中都输入了 com_id,我想在其中输入数字,再次感谢
    【解决方案2】:

    我想你可能想要:

    SELECT cash_credit.Amount, Companies.Com_Name, cheque_credit.Amount
    FROM ( cheque_credit
    INNER JOIN Companies 
    ON cheque_credit.com_id = Companies.com_id)
    INNER JOIN  cash_credit
    ON cash_credit.com_id = Companies.com_id;
    

    【讨论】:

      【解决方案3】:

      关于您的第一个错误:

      表达式类型不匹配

      这意味着某些表达式中涉及的类型彼此不兼容。可能您正在加入具有不同类型的两个列。检查以下列的类型,确保它们都具有相同的类型:

      Companies.com_id cash_credit.com_id check_credit.com_id

      关于不同类型的连接,您似乎不确定何时应该使用它们:

      LEFT JOININNER JOIN 之间的区别在于,如果左表中有一行与右表中的任何行都不匹配:

      • LEFT JOIN:为右表中的值返回带有 NULL 的行
      • INNER JOIN: 不返回行

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-28
        • 1970-01-01
        • 1970-01-01
        • 2012-05-29
        • 2022-01-13
        • 1970-01-01
        相关资源
        最近更新 更多