mysql - 在mysql中连接用户定义的变量

标签 mysql sql

我有三个用户定义的变量,并且只知道如何通过执行以下查询最多连接两个,一次连接两个。

SET @sql := (CONCAT(@sql_q1, ' UNION ', @sql_med));

我还想连接其他用户定义变量 @sql_q3,以便 @sql 存储 @sql_q1、@sql_med 和 @sql_q3。

有没有一种方法可以连接三个用户定义的变量,与上面类似?

所有三个变量都使用同一个表中的相同数据。因此,加入它们不是问题,因为我可以使用上面的联合行一次混合和匹配两个变量。

感谢您的帮助!

最佳答案

使用CONCAT_WS():

SET @sql := CONCAT_WS(' UNION ', @sql_q1, @sql_med, @sql_q3);

注意:我建议您使用 UNION ALL 而不是 UNION

此外,如果一个或多个变量为 NULL,那么它的字符串看起来仍然没问题。

关于mysql - 在mysql中连接用户定义的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40546694/

相关文章:

php - 我的变量将在我的数组中得到空值

mysql - 如何在1096​​列中存储数据

mysql - 为什么 MySQL 中的 Modulo(负数)会产生意想不到的结果?

javascript - 如何开始和结束日期和时间范围选择器?

sql - "tempdb.mdf"由于 SQL 查询增加到天文大小(即 800GB)

MySQL过滤可能的空值

sql - 如何从一个表中获取与另一个表中的所有值匹配的记录

sql - 在 SQL 中,当使用带有 'having' 子句的聚合函数时,该函数是否必须在 select 语句中?

sql - 将子查询转换为联接

mysql - 自动插入具有重复数据的行,遵循两种模式