簡體   English   中英

從其他表的串聯中選擇SQL Server中的特定列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM