当前位置: 首页 > 知识库问答 >
问题:

联合选择并初始化用户定义的变量

东方旭东
2023-03-14

我有一个比较长的联合选择:

select A, B from table1 where C='xxx'
union select A, B from table2 where C='xxx'
union select A, B from table3 where C='xxx'
...

我想把xxx定义为一个用户定义的变量,这样我就不用重复这个条件很多次了。不幸的是,我的MySQL客户机(可视化)不支持多个语句,所以我不能在一开始就使用SET。有没有一种方法可以在不改变SQL输出的情况下将用户定义的变量包含到这样的语句中?

共有1个答案

董康平
2023-03-14

您可以在查询的任何地方使用@varname:='value'。在这种情况下,您可以:

select A, B 
from table1 
JOIN (SELECT @x:='xxx') x 
where C=@x
union select A, B from table2 where C=@x
union select A, B from table3 where C=@x
...

也可以再添加一个联合:

SELECT null,null FROM (SELECT @x:='xxx') x WHERE 0
union select A, B from table1 where C=@x
union select A, B from table2 where C=@x
union select A, B from table3 where C=@x
...

您可以将@x:='xxx'放在任何方便的地方,只是要注意执行的顺序。

 类似资料:
  • 2、联合类型变量的定义 联合数据类型的变量只能用第一个字段的数据类型来进行初始化。 例如: U1 DATATYPE <'J'> ;定义一个联合变量,并初始化其值 U2 DATATYPE <1234H> ;初始化错误,只能用字节数据来初始化 U3 UNION1 <1> 3、联合类型字段的引用 定义了联合类型的变量后,就可根据需要,以不同的数据类型或字段名来存取该联合类型中的数据。引用其字段的具体形式

  • Swift 5.x String初始化、定义 1. 字面量初始化字符串 1.1 单行字面量字符串 let str = "some string" 1.2 字面量初始化多行字符串 let str = """ The white Rabbit put on his spectacles. "Where shell I begin, please your Majesty?" he asked. "

  • 看完问题后,我知道了声明和定义之间的区别。那么它是否意味着定义等于声明加初始化呢?

  • 问题内容: ModelMultipleChoiceField没有选择初始选择,并且在我的示例中,我无法进行以下修复 我的模型和表格: 我的工作和结果: 我希望它可以工作的方式: 1.我的视图从request.GET获取“公司” 2.然后过滤该“公司”的所有“联系人” 3.最后,它创建一个表单并将这些“联系人”作为“初始= {…}” 两个问题: 1. [尚未回答]如何使ModelMultipleCh