0
不工作条款我在Access 2010中一个复杂的查询: QUERY1是一个查询的WHERE field1的<> 8 和 QUERY2是同一个查询的WHERE字段1 = 8。Access 2010中的WHERE预期
然后我做:
SELECT * FROM query1
INNER JOIN query2 ON query1.field2=query2.field2
WHERE query1.field3=query2.field3
这将返回0的结果。
然而,当我将其更改为:
SELECT * from query1
INNER JOIN query2 ON query1.field2=query2.field2
WHERE query1.field3=5 AND query2.field3=5
我得到的结果。这对任何人都有意义吗?它可能与被视为文本字段的字段有关吗?除非它没有引号,所以我不知道为什么会这样。
请让我知道,如果你以前见过这个。
这是一个完整的查询:
SELECT *
FROM (SELECT [transactions by category].[categoryid],
Month([account transactions].[transaction date]) AS TransMonth,
Year([account transactions].[transaction date]) AS TransYear,
SUM([transactions by category].[amount]) AS Amount
FROM (categories
INNER JOIN [transactions by category]
ON categories.id =
[transactions by category].categoryid)
INNER JOIN [account transactions]
ON [transactions by category].transactionid =
[account transactions].id
WHERE [account transactions].[transaction type] <> 8
GROUP BY [transactions by category].[categoryid],
Year([account transactions].[transaction date]),
Month([account transactions].[transaction date])) AS
TransactionCredits
INNER JOIN (SELECT [transactions by category].[categoryid],
Month([account transactions].[transaction date]) AS
TransMonth,
Year([account transactions].[transaction date]) AS
TransYear
,
SUM(
[transactions by category].[amount])
FROM (categories
INNER JOIN [transactions by category]
ON categories.id =
[transactions by category].categoryid)
INNER JOIN [account transactions]
ON [transactions by category].transactionid =
[account transactions].id
WHERE [account transactions].[transaction type] = 8
GROUP BY [transactions by category].[categoryid],
Year([account transactions].[transaction date]),
Month([account transactions].[transaction date]))
AS
TransactionDebits
ON TransactionCredits.[categoryid] =
TransactionDebits.[categoryid]
WHERE TransactionCredits.transyear = TransactionDebits.transyear
AND TransactionCredits.transmonth = 8
AND TransactionDebits.transmonth = 8;
Val将文本字段转换为您的示例中的数字,这意味着您没有数据类型不匹配。你想要解释什么? – Fionnuala 2012-07-30 09:22:45
顺便说一句,避免使用*来选择字段几乎总是最好的。 – Fionnuala 2012-07-30 09:24:01