我正在從事的SQL Server 2005表非常奇怪。這裏有一個簡單的例子:如何選擇一個列名也需要選擇的值?
TABLE 1:
key | a | b | c | d | e | f
z 0 1 2 3 4 5 6
y 1 8 9 10 11 12 13
x 14 15 16 17 18 19 20
w 21 22 23 24 25 26 27
TABLE 2:
id | Value
1 a
2 b
3 c
4 e
5 f
我需要做到的是要在一個單獨的語句,從不同的表中選擇列名,那麼獲得的價值在這裏。所以它會是這樣的"Select (select colName from table2 where id=VAR1) From table1 where key = VAR2"
因此,table2將返回a/b/c/d/e/f,然後主語句將根據該鍵獲取相應值的值。 表2將始終返回a-f,我會提前知道VAR1和VAR2。
您可以使用'CASE'表達式來做到這一點。 –
@GiorgosBetsos我需要爲表1中的每一列寫一個單獨的子句嗎? –
是的,沒有其他的方法(與靜態SQL)。除非你想使用動態SQL。 –