SQL 找不到列
SQL Column Not Found
我正在尝试构建一个 SQL 查询来交叉检查几列。
我的问题是 calcontvalue 列。
查询工作正常,直到我想包含一个包含它的 Where 子句 AND calcontvalue = job.contvalue
。
SELECT
job.accountno,
job.groupno,
job.contvalue,
job.z1total,
job.z2equip,
job.z3freight,
job.z4pack,
job.z5ancil,
job.z6roy,
job.zrpay,
job.z7paid,
job.z8invtype,
IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) AS calcontvalue,
group.groupno,
group.grouptype,
group.title FROM job
LEFT JOIN group
ON job.groupno = group.groupno
WHERE grouptype = 'J' AND calcontvalue = job.contvalue
我遇到了这个错误:
SQL:Column 'CALCONTVALUE' is not found.
不确定接下来要尝试什么。
您不能在 WHERE
中使用别名,请使用完整表达式:
SELECT
job.accountno,
job.groupno,
job.contvalue,
job.z1total,
job.z2equip,
job.z3freight,
job.z4pack,
job.z5ancil,
job.z6roy,
job.zrpay,
job.z7paid,
job.z8invtype,
IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) AS calcontvalue,
group.groupno,
group.grouptype,
group.title
FROM job
LEFT JOIN group
ON job.groupno = group.groupno
WHERE grouptype = 'J'
AND IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) = job.contvalue
同时命名 table group
是不好的做法,因为 GROUP
是关键字 GROUP BY
。
我正在尝试构建一个 SQL 查询来交叉检查几列。
我的问题是 calcontvalue 列。
查询工作正常,直到我想包含一个包含它的 Where 子句 AND calcontvalue = job.contvalue
。
SELECT
job.accountno,
job.groupno,
job.contvalue,
job.z1total,
job.z2equip,
job.z3freight,
job.z4pack,
job.z5ancil,
job.z6roy,
job.zrpay,
job.z7paid,
job.z8invtype,
IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) AS calcontvalue,
group.groupno,
group.grouptype,
group.title FROM job
LEFT JOIN group
ON job.groupno = group.groupno
WHERE grouptype = 'J' AND calcontvalue = job.contvalue
我遇到了这个错误:
SQL:Column 'CALCONTVALUE' is not found.
不确定接下来要尝试什么。
您不能在 WHERE
中使用别名,请使用完整表达式:
SELECT
job.accountno,
job.groupno,
job.contvalue,
job.z1total,
job.z2equip,
job.z3freight,
job.z4pack,
job.z5ancil,
job.z6roy,
job.zrpay,
job.z7paid,
job.z8invtype,
IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) AS calcontvalue,
group.groupno,
group.grouptype,
group.title
FROM job
LEFT JOIN group
ON job.groupno = group.groupno
WHERE grouptype = 'J'
AND IIF(job.z8invtype <> 0, job.z2equip+job.z5ancil,
IIF(job.z8invtype <> 1, job.z2equip+job.z3freight+job.z4pack+job.z5ancil, 0)) = job.contvalue
同时命名 table group
是不好的做法,因为 GROUP
是关键字 GROUP BY
。