如何解决如何在SQL Server 2005中从表的列值中查找表的列名?
| 我有一个视图,它返回如下结果: D1 D2 D3 D1_CODE D2_CODE D3_CODE
---- ---- ---- --------- --------- ---------
10.00 13.00 14.00 OD LENGTH THICKnesS
我在以下选择查询中创建了视图,
SELECT
MKT_MRL_Detail.D1,MKT_MRL_Detail.D2,MKT_MRL_Detail.D3,MAS_SizeType.D1_Code,MAS_SizeType.D2_Code,MAS_SizeType.D3_Code
FROM
MKT_MRL_Detail INNER JOIN
STR_Item ON STR_Item.ItemID = MKT_MRL_Detail.ItemID INNER JOIN
MAS_SizeType ON MAS_SizeType.SizeTypeID = STR_Item.SizeTypeID
我已返回基于两个表的内部联接的视图。
上面的视图仅返回一行。在这里,我要查找哪个列的值为'LENGTH \':
我正在使用sql Server2005。请问有人可以帮忙吗?
解决方法
我最好的建议是重新编写视图(甚至可能是数据库),因为这不是一个很好的设计。但是,我怀疑这是可能的。如果不是,这是我的建议:
SELECT *
FROM (
SELECT D1 AS Value,D1_CODE AS Code
FROM view
UNION ALL
SELECT D2,D2_CODE
FROM view
UNION ALL
SELECT D3,D3_CODE
FROM view
) AS myInfo
WHERE Code=\'LENGTH\'
它虽然不漂亮,但可以完成工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。