Sql 显示包含"#“错误”;在查询输出中
我有一个正确的联接查询(联接一个表和另一个查询输出)。我在某些行中显示“#Error”。有没有办法只显示给出“#Error”的行 我的问题是:Sql 显示包含"#“错误”;在查询输出中,sql,join,ms-access-2007,Sql,Join,Ms Access 2007,我有一个正确的联接查询(联接一个表和另一个查询输出)。我在某些行中显示“#Error”。有没有办法只显示给出“#Error”的行 我的问题是: SELECT Table1.Number1, Table2.Number2 FROM Table2 RIGHT JOIN Table1 ON Table2.Number2 = Table1.Number1; 样本数据: Expr1 Expr2 2346 2346 2347 2347 2348 #Error 2349 2349
SELECT Table1.Number1, Table2.Number2
FROM Table2 RIGHT JOIN Table1 ON Table2.Number2 = Table1.Number1;
样本数据:
Expr1 Expr2
2346 2346
2347 2347
2348 #Error
2349 2349
2350 2350
2351 2351
子查询:
SELECT Val(Right([String2],Len([String2])-8)) AS Number2
FROM Table3;
提前感谢只需在末尾添加WHERE子句。应该行得通。如果有多个列中可能出现#错误行,请使用带有or(或| s)的WHERE子句。如果你能更清楚地知道哪些列中有#错误,我可以给你一个代码块,但是你自己处理应该很容易 编辑:更正:
SELECT Table1.Number1
FROM Table1
WHERE Table1.Number1 NOT IN (
SELECT Table2.Number2 FROM Table2
)
您之所以会出现错误,是因为您强制表1显示,即使在表2中没有与之匹配的内容。这将为您提供孤立项。请显示一些导致#错误的数据。@rontornambe用示例数据更新了它。也给我们显示子查询怎么样?@rontornambe用子查询对象更新了它,就像发生#错误一样,因为您的子查询正在执行两个偶尔失败的操作。如果字符串长度不超过8个字符,“Right”可能会失败。如果子字符串不是数字,“Val”可能会失败。如果只想查看#错误行,则查询可能导致这些情况之一的项。如果你不想出错,那就改为做一个内部连接。那怎么解决这个错误呢?他没有要求解决问题。他要求展示它们。为什么你不同意我回答OP提出的问题?这个答案没有用。询问者在where条款中需要什么?与问题一样,答案需要有一定的特殊性。考虑到用户的问题,我假设#错误出现在特定的列中。只显示相同行的列表有什么意义?考虑到我没有专栏可供使用,我不能自己写WHERE子句,是吗?@BenBarden我没有投反对票,我只是对你最初的答案发表了评论。