繁体   English   中英

具有条件语句的MS Access SQL查询

[英]MS Access SQL Query with condtional statement

我正在尝试使用映射表中的值更新表。 我认为它是UPDATE和SELECT语句,但我无法弄清楚如何处理条件。 这在VBA访问中。

我有两个表,其中包含以下字段:

mainTable: [column1],[column2],[xcode],[ycode]
mapTable: [xcode],[ycode],[mapping]

我需要从mapTable进行映射,但是它具有以下条件

If mainTable.[column1] = "000" or mainTable.[column1] = "001" Then
  mainTable.[column2] = mapTable.[mapping]
  WHERE mapTable.[xcode] = mainTable.[xcode] 
  AND mapTable.[ycode] = mainTable.[ycode]
Else
  mainTable.[column2] = mapTable.[mapping]
  WHERE mapTable.[xcode] = mainTable.[xcode] 
End If

有没有一种方法可以在单个SQL查询中捕获它?

您将需要两个查询,这是一件好事:一个查询为您提供if会得到的结果,另一个查询为您提供else会得到的结果。

查询1:

update maintable m inner join maptable map on m.xcode = map.xcode and m.ycode = map.ycode
set m.column2 = map.mapping
where m.column1  = "000" or m.column1 = "001"

查询2:

update maintable m inner join maptable map on m.xcode = map.xcode
set m.column2 = map.mapping
where NOT (m.column1  = "000" or m.column1 = "001")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM