我有三个用户定义的变量,并且只知道如何通过执行以下查询最多连接两个,一次连接两个。
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/