我正在尝试根据另一个表中的值选择特定列
我有一个包含以下列的表:
TableA
:
Item_Id,Column01,Column02,Column03,Column04,Column05,
TableA
的示例数据:
1,$1.00,$2.00,$3.00,$4.00,$5.00
TableB
列:
Item_ID,Column
TableB
的数据:
1,05
我希望能够根据TableB
中的内容返回值。目前我正在连接以获取字段名称,但我不知道如何获得该值。
Select 'Column'+TableB.[Column]
from TableA
inner join TableB on TableA.Item_Id = TableB.ItemB
WHERE TableA.Item_Id = 1
因此,对于此特定示例,查询将从TableA
中选择column05,结果将为$ 5.00。
答案 0 :(得分:1)
您可以使用CASE statament
Select CASE TableB.[Column] When '01' THEN TableA.Column01
When '02' THEN TableA.Column02
When '03' THEN TableA.Column03
When '04' THEN TableA.Column04
When '05' THEN TableA.Column05
END as Value
from TableA
inner join TableB on TableA.Item_Id = TableB.ItemB
WHERE TableA.Item_Id = 1
但tableA的column01 ... column05需要具有相同的数据类型,或转换为相同的数据类型。