【发布时间】:2016-01-02 04:37:39
【问题描述】:
下面是我的表TABLE
id colname1 colname2 colname3
1 Alex John Mary
2 Alyssa Eben Stephen
3 Sandra Tina William
我尝试使用下面的查询
SELECT * FROM TABLE WHERE CONCAT('colname',id) = 'Eben'
我预计结果将来自第二行第二列。但我什么也得不到。我参考了许多指导使用 GROUP_CONCAT 的解决方案,但我没有任何工作。 用mysql可以做到这一点吗?
【问题讨论】:
-
这不起作用的原因是因为它将
CONCAT('colname', id)视为字符串,而不是实际的列名。所以因为 'colname1' = 'Eben' 总是假的,你不会得到任何结果。不确定解决方案是什么,这就是我没有回答的原因,但希望了解它失败的原因会有所帮助哈哈。 -
谢谢。会尝试其他方式。
-
我也会做一些研究并在找到答案时发布答案。
-
我找到了这个,如果你正在寻找一个特定的 id 值,它可以工作,但检查整个表格有点棘手:stackoverflow.com/questions/13282718/…
-
看起来和我预期的一样。试了几次。将给予更多尝试,直到得到解决方案。
标签: mysql concatenation