【发布时间】:2015-12-25 14:36:20
【问题描述】:
谁能告诉我如何在SELECT 期间使用来自CONCAT 的结果作为列名?我的尝试如下所示:
INSERT INTO `table_1` (datum, comment)
SELECT CURRENT_DATE(), CONCAT('s',DAYOFWEEK(CURRENT_DATE())-1)
FROM `table_2`
WHERE id = 12345
因此,我在评论列中得到 s0 - s6 作为值,而不是我想从中读取值的第二个表中实际存在的值:/
funfact:如果我只输入 s0(例如,适用于所有 7 个)而不是 CONCAT,它工作得很好,我得到了我想要的实际值。
感谢您的帮助。
【问题讨论】:
-
你能先澄清你的问题吗?
-
对不起,我已经说清楚了。第二个值应该是当前在另一个表中的值。根据星期几,该值在 7 个不同的列中。但是现在我将我的 CONCAT 作为值(s0,s1,s3,...,s6)而不是第二个表中具有这些列名称的实际值。
-
值 CONCAT('s',DAYOFWEEK(CURRENT_DATE())-1) 没有来自 table2 的任何列名。那么你将如何获得结果中的 table2 值呢?
-
你到底是什么意思?它应该是
s1 FROM table_2 WHERE id = 12345。我希望 CONCAT 成为列的名称!
标签: mysql select insert concat