zoukankan      html  css  js  c++  java
  • SQL Server中,不用游标行变列的另一种高效方法

    这个解决方案大概是10年前想到的,以前做数据分析的时候,常常用到这个办法。当时在60W数据的时候,速度比用游标快10多倍,当时是个年轻菜鸟(现在是年老的),也可能是游标使用不当。

    但是这个需要程序配合

    假设有如下几个表

    Location 地区表

    Id Name
    1 中国                 
    2 美国                 
    3 英国                 
    4 法国                 

    Productor表

    Id Name
    1 产品1
    2 产品2
    3 产品3
    4 产品4

    他们之间的关系表 Productor_LocationRelation

    ProductorId LocationId
    1 1
    1 4
    2 2
    4 4

    输出的目标如下:

      中国 美国 英国 法国
    产品1 Yes No No Yes
    产品2 No Yes No No
    产品3 NO No NO No
    产品4 No No No Yes

    用Sql的办法是 生成 Location和Productor的 笛卡尔表,然后和Relation表格 left Join。Sql如下。

    Code

    数据如下:

    image

    怎样输出表格就不写了,反正每4行数据就代表输出的一行,4这个数字由Location的数据决定的。

  • 相关阅读:
    Android--用DownLoadManager下载完成后启动安装
    如何配置远程mysql服务器
    Appium python API 总结
    安装Appium-windows
    如何安装appium-linux
    Appium scroll 滑动查找
    monkeyrunner 自动化测试 图片对比的实现
    用alarmmanager 多次发送PendingIntent
    android 学习中的一些问题记录 主要是概念问题
    Citrix Xen Desktop安装配置
  • 原文地址:https://www.cnblogs.com/fantasylu/p/1877740.html
Copyright © 2011-2022 走看看