
创建交叉表查询,要确定三个组成部分:行标题、列标题和字段计算值。
所谓交叉表查询,就是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值。
因此,在创建交叉表查询时,需要指定三种字段:
一是将某一字段放在数据表最左端的行标题;
二是放在数据表最上面的列标题;
三是放在数据表行与列交叉位置上的字段。
扩展资料
交叉表查询的创建方法
交叉表查询向导通常是创建交叉表查询的最快和最简单的方法。它能执行大部分工作,但该向导不提供一些选项。
此向导具有以下优点:
1、易于使用。使用时,启动向导,然后回答一系列引导性问题。
2、它可自动将日期归入不同的时间间隔。如果对列标题使用包含日期/时间数据的字段,向导也会帮助将日期归入不同的时间间隔,如月份或季度。
3、可以此作为起点。 可以使用此向导创建所需的基本交叉表查询,然后通过使用设计视图微调查询的设计。
/* 使用方法 直接执行 传入参数(series_guid 查询条件)返回一个数据集 如 查询该系列Cylindrical 下所有产品 dbo P_GetSeriesProductDetail Cylindrical 查询系列Cylindrical 下含有BK 的产品 dbo P_GetSeriesProductDetail Cylindrical product_name like %BK % */ CREATE PROCEDURE P_GetSeriesProductDetail(@series_guid varchar( ) @condition varchar( )) AS DECLARE @ParamNo nvarchar( ) DECLARE @SQL nvarchar( ) Set @SQL= DECLARE P_cursor CURSOR local fast_forward FOR SELECT param_no FROM V_product_params where series_guid=@series_guid OPEN P_cursor
FETCH next FROM P_cursor INTO @ParamNo WHILE (@@fetch_status = ) BEGIN Set @SQL = @SQL + MAX(CASE param_no WHEN + @ParamNo + THEN param_value ELSE END) AS F + @ParamNo + char( ) FETCH next FROM P_cursor INTO @ParamNo END
CLOSE P_cursor DEALLOCATE P_cursor Set @SQL= SELECT type_guid series_guid product_no product_name + @SQL + FROM V_product_params WHERE series_guid= + @series_guid + if (LTrim(@condition)<>) Set @SQL= @SQL + and + @condition Set @SQL= @SQL + GROUP BY type_guid series_guid product_no product_name
lishixinzhi/Article/program/MySQL/201311/29566
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)