MySQL的SELECT查询语句在传递静态值时可以正常工作,但在传递变量时无法动态地将行转换为列。这是因为MySQL的SELECT语句是用于从数据库中检索数据的,而不是用于转换行为列的。
如果您想要动态地将行转换为列,您可以考虑使用MySQL的PIVOT操作或者使用应用程序层面的逻辑来实现。以下是一种可能的解决方案:
SELECT
MAX(CASE WHEN column_name = 'value1' THEN value END) AS value1,
MAX(CASE WHEN column_name = 'value2' THEN value END) AS value2,
MAX(CASE WHEN column_name = 'value3' THEN value END) AS value3
FROM table_name;
这将返回一个结果集,其中每一列都对应于一个特定的值。
总结起来,MySQL的SELECT查询语句本身并不支持动态地将行转换为列。您可以考虑使用PIVOT操作或在应用程序层面处理行到列的转换逻辑来实现您的需求。
领取专属 10元无门槛券
手把手带您无忧上云