[英]Select a specific column in SQL Server from a concatenation from a different table
我試圖根據另一個表中的值選擇特定的列
我有一個帶有以下各列的表:
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美元。
您可以使用CASE策略
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必須具有相同的數據類型,或轉換為相同的數據類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.