LEFT JOIN CONCAT('你好_',c.id)可能吗?

时间:2016-04-17 16:02:40

标签: php mysql join concat

是否有可能有这样的事情:

选择c.id作为id 来自频道c LEFT JOIN CONCAT(' hello _',c.id)

我需要c.id.这个concat。没有别的办法。 那么任何提示?

2 个答案:

答案 0 :(得分:2)

您询问是否可以使用涉及列值和CONCAT等函数的表达式在MySQL中的查询中生成表名。

简短的回答是否。

有一个涉及MySQL准备语句的更长答案。这基本上是一种在MySQL存储过程中使用字符串处理来生成要运行的查询文本的方法。

答案 1 :(得分:0)

如果您打算在SQL级别执行此操作:则无法执行此操作。表名称标记不是从表达式计算的。

然而,使用php并动态创建查询,根据您的需要使用“已修改”的表名称应该非常简单。 因此,构建查询时,concat()应该是php表达式。

如果您尝试基于基表的列值加入(不同的)表,则远离任何SQL语义。

在这种情况下,您可能需要重新排列架构以合并由concat现在尝试计算单个表的信息所标识的所有表实例,并使用它所属的逻辑表标记每一行。