我正在从事的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。 –