首页 > 解决方案 > 将 SQL 查询转换为使用 Microsoft Access

问题描述

我需要在 MS Access 中运行以下 SQL 查询。有人可以解释如何将其转换为正确的语言吗?

    UPDATE osmm_topo.boundaryline SET style_description =
CASE    
    WHEN featurecode = 10136 THEN 'Parish Boundary'
    WHEN featurecode = 10131 THEN 'District Boundary'
    WHEN featurecode = 10128 THEN 'Electoral Boundary'
    WHEN featurecode = 10127 THEN 'County Boundary'
    WHEN featurecode = 10135 THEN 'Parliamentary Boundary'
    ELSE 'Unclassified' 
END,
style_code = 
CASE
    WHEN featurecode = 10136 THEN 1
    WHEN featurecode = 10131 THEN 2
    WHEN featurecode = 10128 THEN 3
    WHEN featurecode = 10127 THEN 4
    WHEN featurecode = 10135 THEN 5
    ELSE 99 
END;

标签: sqlms-access

解决方案


我认为 taheSwitch函数将成为您场景中的朋友:

UPDATE osmm_topo.boundaryline SET style_description =
Switch(
  featurecode = 10136, 'Parish Boundary',
  featurecode = 10131, 'District Boundary',
  featurecode = 10128, 'Electoral Boundary',
  featurecode = 10127, 'County Boundary',
  featurecode = 10135, 'Parliamentary Boundary',
  True, 'Unclassified'),
style_code = 
Switch(
  featurecode = 10136, 1,
  featurecode = 10131, 2,
  featurecode = 10128, 3,
  featurecode = 10127, 4,
  featurecode = 10135, 5,
  True, 99);

推荐阅读