1.功能简介
SQL查询表是指从已连接的数据源中,通过SQL查询语句来选取需要的数据字段。
目前数据集只支持一条SQL语句,不支持多个SQL,例如:SELECT A FROM TABLE SELECT B FROM TABLE
2.创建SQL查询表
2.1 选择数据源
点击主题的右侧菜单 -> 点击【新建数据集】 -> 选择数据源 -> 点击SQL查询表 -> 点击下一步
2.2 界面说明
SQL查询表的界面分为三个部分:基本信息、SQL语句和数据预览;
基本信息:修改数据源、显示名称、标签(团队功能相关)、说明。
SQL语句:结尾无需添加分号。由于SQL语言较为复杂,数据集仅支持简单的语句(不支持分组、子查询等),并且可以包含参数。
数据预览:在SQL语句框中输入正确的语句后,点击【预览数据】按钮即可预览。
2.3 查询变量
在定义查询语句时,需要用”[${参数}]“(参数值为数值型,否则为’[${XXX}]’)的形式,通过默认值给参数赋值。
注:默认值为必填项,作为参数直接传递到模型集和报表中。
例如:用户输入的查询语句为: select * from Customers where ID = ‘[${ID}]’
从浏览器动态获取的值/用户填写的默认值(如“001”),然后利用该ID值来替换查询中对应的字符串“[${ID}]”,这时会产生新的语句:select * from Customers where ID = ‘001’,提交给数据库解析和执行。
添加查询变量的方法有:
1.直接填写[${XXX}]的形式。
2.点击查询变量的【添加变量】。
查询变量的灵活使用
在SQL数据集中,查询变量其实起到的作用就是进行字符串替换。因此我们不只是可以把查询变量用在条件值中,我们还可以用查询变量改变SQL语句。
例子1:SELECT * FROM tableName WHERE type=’[${varable1}]’ ORDER BY [${varable2}]
在这个例子中, varable1是当成条件值使用的,我们用来筛选某个类型的数据。varable2则是用来改变sql语句中排序的字段,我们可以设置varable2的值为’create_time’, 也可以设置为’name desc, create_time asc’。
例子2:SELECT * FROM [${table}]
在这个例子中,把表名设置成了查询变量,我们可以在不同的情况下使用不同的表。但是这种情况我们一定要注意的是,不同的表返回的字段必须包含SQL数据集中使用的字段,否则就会发生错误。
综上所述SQL数据集的SQL我们可以按照需求,使用查询变量作各种替换,只要保证返回的字段必须包含保存SQL数据集中使用的字段即可。
2.4 系统变量
系统变量是存储在系统中的变量,如用户id、用户名、当前时间等,使用方法与查询变量相同。
3.操作示例
3.1 简单的SQL查询
查询ms_zdy表的所有数据字段:
3.2 带有参数的SQL查询
查询ms_zdy表的含有zfc参数的行数据: