我的一位同事遇到了一个问题,我不知道是否有解决方案。
这是她的代码要点:
选择A、B、C 从 扩展表 其中值为 (X, Y, Z);
“A”的值显示在页面生成器的下拉列表中(来自横幅数据库)
其中一个用户想要替换 A 的值以显示其他内容。 例如,如果 A 是动物类型(如猫、狗等),B 是物种,C 是属。 他们不想看到“猫”...他们想看到“猫科动物”。
还有其他数据库用户使用并想要值“Cat”。
问题:我们如何/可以进行选择..填充下拉列表并在值为“猫”时显示“猫科动物”?
在我多年的编程生涯中从未遇到过这个要求
您可以创建一个映射表,将原始值映射到所需的显示标签,如下所示:
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');