【问题标题】:Error in using subquery in access join query在访问联接查询中使用子查询时出错
【发布时间】:2019-12-22 19:33:44
【问题描述】:

我需要将查询的结果用作另一个查询的查找字段。我尝试的是使用一个子查询作为别名,但最后我得到了一些错误,说 variz.varizY.varizname 的“输入参数值”。

我在论坛上搜索过,但找不到任何类似的问题。

SELECT sahmeharkas.attrib, 
    [sahmeharkas]![expenseper] AS Expense,
    variz.variz
FROM sahmeharkas
LEFT JOIN 
(SELECT variz.varizname FROM variz GROUP BY variz.varizname) as Y
ON sahmeharkas.attrib =  Y.variz.varizname

【问题讨论】:

  • 你使用什么 SQL 风格?
  • @alexgrounds 我使用 Microsoft Access。

标签: sql ms-access subquery alias


【解决方案1】:

variz在子查询之外不存在;您应该改为使用子查询别名作为表限定符,例如:

select s.attrib, s.expenseper as expense, y.variz
from 
    sahmeharkas s left join 
    (select v.variz, v.varizname from variz v group by v.variz, v.varizname) y on
    s.attrib = y.varizname

【讨论】:

  • 谢谢你。我做了你建议的改变。但问题仍然存在。我做到了:code SELECT sahmeharkas.attrib, -[sahmeharkas]![expenseper] AS مانده, Y.variz FROM sahmeharkas LEFT JOIN (SELECT variz.varizname AS namee FROM variz GROUP BY variz.varizname) AS Y ON sahmeharkas.attrib = Y.varizname
  • 您没有按照我的示例进行操作:您的子查询不输出 variz 字段,并且您已为 varizname 分配了一个新别名 (namee),您需要在外部查询(即将y.varizname更改为y.namee)。
  • 哇太棒了!!!它可以正常工作!它解决了我的老问题。谢谢你。我会从中学到很多东西。谢谢你谢谢你
  • 只是另一个问题。在设计视图中,我的 Alias 添加了一个表格。实际上,它是一个虚构的表格。我如何在不使用 SQL 的情况下创建它?
  • 不客气;为避免设计视图中出现“虚构”表,请将子查询 SQL select v.variz, v.varizname from variz v group by v.variz, v.varizname 保存为名为 y 的单独保存查询,然后在主查询中简单地引用查询 y
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多