我有一个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有字段1、字段2等列…字段7,daycode值为1,2…7。我们需要用daycode列中的值来连接“field”。
select table1.id,select [concat('field',table2.daycode)] from table1 join
table2 on table1.id=table2.key

最佳答案

您可以在字符串an中创建语句,然后使用execute (@sql)
或者可以在select中添加case语句,从中选择适当的列。
我不确定,但这个你可以试试

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;

10-05 18:24