我有一个daycode
列,可以存储1,2 ... 7的值
然后在另一个表中,我有像field1,field2...field7
我可以key
加入他们,但如何根据传递的值选择特定的fieldX
列?
Table 1 has the following columns
-------------
id
prodno
field1
field2
field3
field4
field5
field6
field7
每个fieldX代表星期一,星期二等的值,直到星期日为止。
Table 2 has the following columns
-------------
id
prodno
dt
daycode
更新
t2有像field1,field2 ... field7这样的列,日代码值是1,2 ... 7.我们需要将“字段”与从日代码列中获取的值连接起来。
select table1.id,select [concat('field',table2.daycode)] from table1 join
table2 on table1.id=table2.key
答案 0 :(得分:4)
您可以在字符串中创建语句,然后使用execute (@sql)
执行它
或者您可以在选择正确列的选择中添加案例陈述。
我不确定是否可以尝试
SELECT t1.id,
CASE
WHEN daycode = 1 THEN t2.field1
WHEN daycode = 2 THEN t2.field2
WHEN daycode = 3 THEN t2.field3
WHEN daycode = 4 THEN t2.field4
END
FROM t1 join t2 on t1.id=t2.key;