- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这将是我在这里发布的第一个问题,所以请原谅董事会礼仪中的任何意外失误。
在我当前的项目中,我采用了一个大型的非规范化表并将其分解为四个独立的规范化表。我接触这个委员会的最终目标是创建一个 View ,该 View 模仿非规范化表以实现向后兼容性。
为了提供我的场景的简化快照,我尝试做的关键在于两个表:
ASSOC_ROLE ASSOCIATE
---------- ----------
assoc_id (fk) assoc_id (pk)
role_id (fk) last_name
org_nbr (fk)
SELECT Assoc_Role.org_nbr, Assoc_Role.assoc_id, Associate.last_name, Assoc_Role.role_id
FROM Assoc_Role INNER JOIN
Associate ON Assoc_Role.assoc_id = Associate.assoc_id
WHERE Assoc_Role.org_nbr = '1AA'
org_nbr assoc_id last_name role_id
------- -------- --------- -------
1AA 1447 Cooper 1
1AA 1448 Collins 3
1AA 1448 Collins 4
1AA 1448 Collins 5
1AA 1449 Lynch 6
org_nbr role1_ID role1_name role2_ID role2_name role3_ID role3_name role4_ID role4_name role5_ID role5_name role6_ID role6_name
------- -------- ---------- -------- ---------- -------- ---------- -------- ---------- -------- ---------- -------- ----------
1AA 1447 Cooper NULL NULL 1448 Collins 1448 Collins 1448 Collins 1449 Lynch
最佳答案
为了获得基本的编号角色数据,我们可以从
SELECT
org_nbr
, r1.assoc_id role1_ID
, r1.last_name role1_name
, r2.assoc_id role2_ID
, r2.last_name role2_name
, r3.assoc_id role3_ID
, r3.last_name role3_name
, r4.assoc_id role4_ID
, r4.last_name role4_name
, r5.assoc_id role5_ID
, r5.last_name role5_name
, r6.assoc_id role6_ID
, r6.last_name role6_name
FROM
ASSOC_ROLE ar
LEFT JOIN ASSOCIATE r1 ON ar.role_id = 1 AND ar.assoc_id = r1.assoc_id
LEFT JOIN ASSOCIATE r2 ON ar.role_id = 2 AND ar.assoc_id = r2.assoc_id
LEFT JOIN ASSOCIATE r3 ON ar.role_id = 3 AND ar.assoc_id = r3.assoc_id
LEFT JOIN ASSOCIATE r4 ON ar.role_id = 4 AND ar.assoc_id = r4.assoc_id
LEFT JOIN ASSOCIATE r5 ON ar.role_id = 5 AND ar.assoc_id = r5.assoc_id
LEFT JOIN ASSOCIATE r6 ON ar.role_id = 6 AND ar.assoc_id = r6.assoc_id
org_nbr
, 每个
role_id
单独一行有数据!这不是我们想要的 - 所以我们需要
GROUP BY org_nbr
.但是我们需要
GROUP BY
或聚合
SELECT
中的每一列列表!诀窍是想出一个聚合函数来安抚 SQL Server 并为我们提供我们想要的结果。在这种情况下,
MIN
将完成这项工作:
SELECT
org_nbr
, MIN(r1.assoc_id) role1_ID
, MIN(r1.last_name) role1_name
, MIN(r2.assoc_id) role2_ID
, MIN(r2.last_name) role2_name
, MIN(r3.assoc_id) role3_ID
, MIN(r3.last_name) role3_name
, MIN(r4.assoc_id) role4_ID
, MIN(r4.last_name) role4_name
, MIN(r5.assoc_id) role5_ID
, MIN(r5.last_name) role5_name
, MIN(r6.assoc_id) role6_ID
, MIN(r6.last_name) role6_name
FROM
ASSOC_ROLE ar
LEFT JOIN ASSOCIATE r1 ON ar.role_id = 1 AND ar.assoc_id = r1.assoc_id
LEFT JOIN ASSOCIATE r2 ON ar.role_id = 2 AND ar.assoc_id = r2.assoc_id
LEFT JOIN ASSOCIATE r3 ON ar.role_id = 3 AND ar.assoc_id = r3.assoc_id
LEFT JOIN ASSOCIATE r4 ON ar.role_id = 4 AND ar.assoc_id = r4.assoc_id
LEFT JOIN ASSOCIATE r5 ON ar.role_id = 5 AND ar.assoc_id = r5.assoc_id
LEFT JOIN ASSOCIATE r6 ON ar.role_id = 6 AND ar.assoc_id = r6.assoc_id
GROUP BY
org_nbr
org_nbr role1_ID role1_name role2_ID role2_name role3_ID role3_name role4_ID role4_name role5_ID role5_name role6_ID role6_name
---------- ----------- ---------- ----------- ---------- ----------- ---------- ----------- ---------- ----------- ---------- ----------- ----------
1AA 1447 Cooper NULL NULL 1448 Collins 1448 Collins 1448 Collins 1449 Lynch
Warning: Null value is eliminated by an aggregate or other SET operation.
role_id
,这将达不到要求。增加...
关于sql-server-2005 - "Pivoting"SQL Server 中的非聚合数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4225984/
我有一个 todolist 应用程序,它在 Pivot 控件内的单独 PivotItems 中具有多个 ListBox 控件。如果我导航到另一个页面,然后使用后退按钮返回,则显示的 Pivot 没有响
我想 pivot_long() 下面数据集的多列避免硬编码。我看过一些类似的问题,但我仍然做不到。 宽数据: > head(data) ID IND_TEST_SCORE ARG_G1_A
假设我有一个 orders 表,它将与另外三个名为 typings、translates 和 论文 。我知道数据透视表应该有点像 many to many polymorphic relation但这
当我尝试将 null 替换为 zero 时,收到以下错误消息。 The column name "jan" specified in the PIVOT operator conflicts with
有没有办法在数据透视表中为计算为零的单元格隐藏或显示空白单元格? 最佳答案 使用数字格式隐藏所选单元格中的零值: 按照此过程隐藏所选单元格中的零值。如果其中一个单元格中的值更改为非零值,则该值的格式将
我正在尝试理解 Select algorithm我遇到了 a good pivot VS a bad pivot 。我可以看到该算法正在使用 Partition 算法来分隔右侧的较大元素pivot 和
我有以下代码:
我有一个国家表和一个数据透视表 Country_language,其中列出了所有国家及其可用语言的翻译。 表结构如下: Languages -------------- ID Locale Recor
目前,PWS 上唯一的 RabbitMQ 服务看起来有点不确定。我想知道我是否可以使用 Pivotals 解决方案 https://network.pivotal.io/products/p-redi
我是使用 Spark 数据帧的新手。我正在尝试将 pivot 方法与 Spark(Spark 版本 2.x)一起使用并遇到以下错误: Py4JError: An error occurred whil
我需要转置一个表,其中 column1 是实体的名称,column2 到 column366 是一年中包含美元金额的日期。表,select语句,输出结果都给了 以下 - 问题 - 此语法要求我创建一个
我想知道是否可以像在 python 和 R 上那样在 OpenRefine 上创建值的聚合和汇总?示例: 包含 30 万条记录的医疗预约表身份识别患者 |年龄 |身份证预约 |值 患者汇总和总结的结果
我想知道是否可以像在 python 和 R 上那样在 OpenRefine 上创建值的聚合和汇总?示例: 包含 30 万条记录的医疗预约表身份识别患者 |年龄 |身份证预约 |值 患者汇总和总结的结果
我不熟悉 SQL 并使用 Google BigQuery。我有一个表,其中有一条记录如下所示: publication_number |受让人 US-6044964-A|索尼公司 |数字音频光盘公司
在尝试转换 sql 表时,我看到了这篇文章 Here .通过使用这种方法,我创建了一个查询。但是我现在已经意识到它当然会使用 MAX 函数聚合结果。但是,我需要 Colum 旋转,但要显示所有事件。从
我们能否将行旋转到多列,即 Create table #Temp_Trans ( P_ID int, Custom_Name varchar(30), Text_Value var
计算字段很棒,但有一些限制,例如无法对其进行排序(无法将字段移动到报告过滤器区域)。 我试过“强制”一个过滤器,就像微软的人建议的那样:https://answers.microsoft.com/en
我有以下数据集,我需要从中计算数据透视中不同值的计数。我尝试了几个函数,如 FREQUENCY、COUNTIFS 等,但我做不到。 输入 Input Data 输出 Expected Output 最
请看下面的数据: 我正在寻找生成以下输出的查询: 我正在试验“PIVOT”,但尚未取得预期的结果。 最佳答案 这应该有效: SELECT ReviewType, DER, LEI, NOR, [NOT
我有两个表Person(person_id, name) 和另一个表Contacts(person_id, phone_type, phone_no)。 Person-----------------
我是一名优秀的程序员,十分优秀!