如果Field1中的值为null,则返回Field2的值,否则返回String

问题描述 投票:0回答:1

虽然这看起来很简单,但我无法得到它,也无法通过在这里搜索找到我需要的东西。我需要在构建器中完成此操作,或者在我的SQL代码中完成,这对于查询正在进行的操作已经是一段非常冗长的代码。以下是该问题的基础:

领域:ItemID | CustomID

如果CustomID中有一个值,我想用字符串覆盖该记录的ItemID值:"CK"+CustomID

如果该记录的CustomID字段为空,则保留原始的ItemID

然后我还需要该字段的值用于从链接表中提取正确的数据。目前,它将为后续字段提取原始ItemID的值,而不是代替"CK+CustomID"的字符串ItemID值。

我想在可能需要使用该值来从查找表中收集后续字段之前,可能需要一个独立的子查询来辨别该字段的值。

我愿意使用我的查询构建器生成的SQL代码,但我不仅仅是代码。

谢谢您的帮助!

sql ms-access null iif
1个回答
0
投票

如果没有查看表或链接表的内容样本,也不知道这些表中任何一个的名称,我建议使用以下示例代码:

select * 
from yourlinkedtable t inner join
(
    select iif(t.customid is null, t.itemid, 'CK' & t.customid) as id
    from yourtable t
) q 
on t.itemid = q.id

在这里,yourtable代表包含ItemIDCustomID字段的表格,yourlinkedtable代表您希望与前缀ItemID匹配的表格。

© www.soinside.com 2019 - 2024. All rights reserved.