您可以在 Access SQL 中使用两个 SET 和 WHERE 语句来代替 ELSE 吗?
Can you use two SET and WHERE Statements instead of ELSE in Access SQL?
我正在尝试使用两个 SET 和 WHERE 语句来代替 ELSE 语句。那可能吗?我收到以下语法错误:
UPDATE HRBI
SET HRBI.[MktDISC%] = 0, HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])
WHERE HRBI.[FY16StartingSalaryUSD] = 0, HRBI.[FY16StartingSalaryUSD] <> 0;
首先你的WHERE
语句语法错误,你需要使用AND
或OR
条件运算符。第二,你有没有看WHERE
条件;不可能
WHERE HRBI.[FY16StartingSalaryUSD] = 0, HRBI.[FY16StartingSalaryUSD] <> 0;
这就像说 WHERE col1 = 0 and col1 <> 0
永远不可能,因为在任何时间点该字段都可以具有其中一个值,但不能同时具有两个值。您可以说 >= 0
或使用 OR
条件
WHERE HRBI.[FY16StartingSalaryUSD] >= 0
您在 SET
子句中也犯了同样的错误。您发布的查询 SET
子句可以简化为
SET HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])
Switch
语句允许您完全按照您的要求进行操作;当 FY16StartingSalaryUSD=0
、return 为 0 时,否则 return MarketMedianDISCUSD/FY16StartingSalaryUSD
.
UPDATE HRBI
SET HRBI.[MktDISC%] = SWITCH(
HRBI.[FY16StartingSalaryUSD] = 0, 0,
HRBI.[FY16StartingSalaryUSD] <> 0, HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])
我正在尝试使用两个 SET 和 WHERE 语句来代替 ELSE 语句。那可能吗?我收到以下语法错误:
UPDATE HRBI
SET HRBI.[MktDISC%] = 0, HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])
WHERE HRBI.[FY16StartingSalaryUSD] = 0, HRBI.[FY16StartingSalaryUSD] <> 0;
首先你的WHERE
语句语法错误,你需要使用AND
或OR
条件运算符。第二,你有没有看WHERE
条件;不可能
WHERE HRBI.[FY16StartingSalaryUSD] = 0, HRBI.[FY16StartingSalaryUSD] <> 0;
这就像说 WHERE col1 = 0 and col1 <> 0
永远不可能,因为在任何时间点该字段都可以具有其中一个值,但不能同时具有两个值。您可以说 >= 0
或使用 OR
条件
WHERE HRBI.[FY16StartingSalaryUSD] >= 0
您在 SET
子句中也犯了同样的错误。您发布的查询 SET
子句可以简化为
SET HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])
Switch
语句允许您完全按照您的要求进行操作;当 FY16StartingSalaryUSD=0
、return 为 0 时,否则 return MarketMedianDISCUSD/FY16StartingSalaryUSD
.
UPDATE HRBI
SET HRBI.[MktDISC%] = SWITCH(
HRBI.[FY16StartingSalaryUSD] = 0, 0,
HRBI.[FY16StartingSalaryUSD] <> 0, HRBI.[MktDISC%] = (HRBI.[MarketMedianDISCUSD] / HRBI.[FY16StartingSalaryUSD])