替换 SQL Select 中的值

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

我的一位同事遇到了一个问题,我不知道是否有解决方案。

这是她的代码要点:

选择A、B、C 从 扩展表 其中值为 (X, Y, Z);

“A”的值显示在页面生成器的下拉列表中(来自横幅数据库)

其中一个用户想要替换 A 的值以显示其他内容。 例如,如果 A 是动物类型(如猫、狗等),B 是物种,C 是属。 他们不想看到“猫”...他们想看到“猫科动物”。

还有其他数据库用户使用并想要值“Cat”。

问题:我们如何/可以进行选择..填充下拉列表并在值为“猫”时显示“猫科动物”?

在我多年的编程生涯中从未遇到过这个要求

sql select drop-down-menu
1个回答
0
投票

您可以创建一个映射表,将原始值映射到所需的显示标签,如下所示:

Create Table mapping(ID INT, OriginalValue nvarchar(15), DisplayValue nvarchar(15));

INSERT INTO mapping VALUES(1,'Cat','Feline');
INSERT INTO mapping VALUES(2,'Dog','Canine');

然后将你原来的桌子与这个maaping桌子连接起来。

SELECT A, B, C, M.DisplayValue
FROM Xtable
INNER JOIN MappingTable M ON Xtable.A = M.OriginalValue
WHERE Value in('X','Y','Z');
© www.soinside.com 2019 - 2024. All rights reserved.