在制作电子表格,有时候需要在单元格绑定参数,而参数的控件类型是【平铺勾选面板】,会发现会多一个空值选项,为什么?实际上数据并没有这个选项
并没有客户预期的如下的效果:
首先,上面的现象是正常的。下面我们说明一下:
如果要在查询的血统分析中找到查询使用的表,那么必须满足一个条件:表的字段或者表,在查询中必须是如下这种“对象”的形式
也就是说字段或者表,是从左侧资源树拖到查询中,并且不会自动变成文字形式的才行。
--------------------------------------------------------------------------------------------------------------------------------
所以针对系统中的3类查询,能否在血统分析中找到表。总结如下:
可视化查询
可视化查询由于都是从左侧拖拽的字段,所以血统分析中一定能找到表。除非存在以下情况:products表的所有字段和表名都是文字形式的,所以在血统分析中是看不到products这个表的
其实我们可以尝试将鼠标移动到查询中的那些“对象”上面
可以看到,这些对象,实际上系统是可以从这些对象上面获取到它对应的表的信息的,所以可以在血统分析中显示出来。
而原生sql查询意味着“原生”,送到数据库中的sql就是客户写在查询中的,在系统中不能添加任何的处理。所以即使是从左侧拖过去的表和字段,也会变成文字的形式(参数、用户属性、函数除外)。
------------------------------------------------------------------------------------------------------
那么,原生sql,或者自己手写的sql查询,有没有其他方法能够在血统分析中找到表呢?
这个其实很难做到。如果要找到sql中所使用的表,那么必须把这些查询的sql取出来,然后对其进行解析,找到里面用到了什么表,这个本身有难度。而且除了表名以外,还会有不同的schema,另外不同数据库的语法还不完全一样,因此实现的可能性比较小。