我有一个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;