Previous topicNext topic
Help > 使用指南 > 视图可视化编辑 >
视图编辑方法

这里我们讲述一下具体如何正确高效地编辑生成一个SQL视图。以下为常规的编辑SQL视图的步骤。

关联查询示例

第一步:粗略地设置视图的来源表、表与表之间的关联关系、最终返回的字段。可视化编辑窗口的具体操作方法可以参考“可视化编辑窗口”。

第二步:添加并设置表达式列。

第三步:设置表达式列别名、筛选条件、参数、分组条件。

合并视图示例

合并视图是指多个结构相同的子查询通过Union或Union All来合并起来组成的视图。最后生成的SQL语句结构如下:

 select a.物料ID,a.物料名称,a.仓库ID,a.库位ID,a.批号,a.数量,a.单位,a.单价,ISNULL(数量,0)*ISNULL(单价,0) As 总计  from 期初库存 a

Union All select b.物料ID,b.物料名称,c.仓库ID,c.库位ID,b.批号,b.数量,b.单位,b.单价,ISNULL(b.数量,0)*ISNULL(b.单价,0) As 总计  from 入库单 a Left Join 入库明细 b On a.入库单号=b.入库单号 Left Join 库位管理 c On b.库位ID=c.库位ID where a.结单=0 or a.结单 is null

Union All select b.物料ID,b.物料名称,c.仓库ID,c.库位ID,b.批号,b.数量,b.单位,b.单价,-1*ISNULL(b.数量,0)*ISNULL(b.单价,0) As 总计  from 出库单 a Left Join 出库明细 b On a.出库单号=b.出库单号 Left Join 库位管理 c On b.库位ID=c.库位ID where a.结单=0 or a.结单 is null

合并视图的特点有如下几点:1、只需要设置数据表即可。2、所有数据表的表类型都是“子SQL”。3、关联方式只能使用“合并所有”或“合并不重复”。

分组查询示例

关于排序

在没有特别必要的情况下,尽量不要设置排序(对应SQL语句中的Order By)。因为很多情况下,子SQL中是不支持Order By的。如果其他视图引用了带有排序的视图作为子SQL的话,那么就会引发异常错误。如果确实想要设置排序的话,可以在“返回列”区域设置对应字段的倒序与正序。请确保只在单纯的最终的查询视图场景下使用。