我有一套每月收到的表格,告诉我一个会员当月付了多少钱。如果他们不付钱,他们就不会出现在桌子上。我想弄清楚每一位成员在一段时间内支付了多少钱。成员可以出现在一个月的表格中,但不能出现在另一个月的表中。每个表共享一个链接到一个成员的"ID“,但是由于每个月的可变性,列长度并不都相同。每个表格都有一位会员和他当月缴纳的会费。由于这个原因,我遇到了一个“联合的两个选定表或查询中的列数不匹配”的错误。
运行Access 365,粘贴两组代码:
当我尝试内部连接时,我会丢失并非所有表中的条目。
当我尝试一个UNION时,我会得到一个错误:“两个选中的表或联合查询的查询中的列数不匹配。”
SELECT [2018-9 Dues Deduct].ID, [2018-9 Dues Deduct].Name, [2018-9 Dues Deduct].[Curr Dedn], [2018-10 Dues Deduction].[Curr Dedn], [2018-11 Dues Deductions].[Curr Dedn], [2018-12 Dues Deductions].[Curr Dedn]
FROM (([2018-9 Dues Deduct]
INNER JOIN [2018-10 Dues Deduction] ON [2018-9 Dues Deduct].ID = [2018-10 Dues Deduction].ID)
INNER JOIN [2018-11 Dues Deductions] ON [2018-10 Dues Deduction].ID = [2018-11 Dues Deductions].ID)
INNER JOIN [2018-12 Dues Deductions] ON [2018-11 Dues Deductions].ID = [2018-12 Dues Deductions].ID;SELECT
[2018-9 Dues Deduct].ID,
[2018-9 Dues Deduct].Name,
[2018-9 Dues Deduct].[Curr Dedn],
[2018-10 Dues Deduction].[Curr Dedn]
FROM [2018-9 Dues Deduct]
INNER JOIN [2018-10 Dues Deduction] ON [2018-9 Dues Deduct].ID = [2018-10 Dues Deduction].ID
GROUP BY [2018-9 Dues Deduct].ID, [2018-9 Dues Deduct].Name, [2018-9 Dues Deduct].[Curr Dedn], [2018-10 Dues Deduction].[Curr Dedn]
UNION
SELECT
[2018-10 Dues Deduction].ID,
[2018-10 Dues Deduction].Name,
[2018-10 Dues Deduction].[Curr Dedn],
[2018-11 Dues Deductions].[Curr Dedn]
FROM [2018-10 Dues Deduction]
INNER JOIN [2018-11 Dues Deductions] ON [2018-10 Dues Deduction].ID = [2018-11 Dues Deductions].ID
UNION
SELECT
[2018-11 Dues Deductions].ID,
[2018-11 Dues Deductions].Name,
[2018-11 Dues Deductions].[Curr Dedn]
FROM [2018-11 Dues Deductions]
INNER JOIN [2018-12 Dues Deductions] ON [2018-11 Dues Deductions].ID = [2018-12 Dues Deductions].ID;我的目标是看到所有的扣减(Curr )从所有成员(ID),无论他们是否支付了这个月。提前谢谢。
发布于 2019-01-24 15:33:04
你在第二次贴出的代码片段上看到错误了吗?(因为有工会)
行长度=行数没有问题,列数(合并)是您的问题。你的错误就是这么说的。
我认为有两个原因:
对于1:你有4列在第一选择,4在第2和只有3在第3。
=>你需要在你的第三选择第四列。如果你没有数据,那就做个假人。
由于评论“工作”而更新:尝试这个-我不知道“虚拟”或‘虚拟’是正确的
SELECT
[2018-9 Dues Deduct].ID,
[2018-9 Dues Deduct].Name,
[2018-9 Dues Deduct].[Curr Dedn],
[2018-10 Dues Deduction].[Curr Dedn]
FROM [2018-9 Dues Deduct]
INNER JOIN [2018-10 Dues Deduction] ON [2018-9 Dues Deduct].ID = [2018-10 Dues Deduction].ID
GROUP BY [2018-9 Dues Deduct].ID, [2018-9 Dues Deduct].Name, [2018-9 Dues Deduct].[Curr Dedn], [2018-10 Dues Deduction].[Curr Dedn]
UNION
SELECT
[2018-10 Dues Deduction].ID,
[2018-10 Dues Deduction].Name,
[2018-10 Dues Deduction].[Curr Dedn],
[2018-11 Dues Deductions].[Curr Dedn]
FROM [2018-10 Dues Deduction]
INNER JOIN [2018-11 Dues Deductions] ON [2018-10 Dues Deduction].ID = [2018-11 Dues Deductions].ID
UNION
SELECT
[2018-11 Dues Deductions].ID,
[2018-11 Dues Deductions].Name,
[2018-11 Dues Deductions].[Curr Dedn],
"dummy"
FROM [2018-11 Dues Deductions]
INNER JOIN [2018-12 Dues Deductions] ON [2018-11 Dues Deductions].ID = [2018-12 Dues Deductions].ID;https://stackoverflow.com/questions/54350003
复制相似问题