实际上是否可以旋转T-SQL(2005)以便(为了参数)第一列的行的值成为输出表列的标题?
我知道这不是PIVOT的真正含义,但它正是我所需要的 - 能够请求一个表格,其中列之前是未知的,因为它们已作为值输入到表格中.
即使是黑客也会很好,tbh.
我有类似下表的内容:
================================================
| Id | UserId | FieldName | FieldValue |
=====+========+===============+================|
| 1 | 100 | Username | John Doe |
|----+--------+---------------+----------------|
| 2 | 100 | Password | pass123! |
|----+--------+---------------+----------------|
| 3 | 102 | Username | Jane |
|----+--------+---------------+----------------|
| 4 | 102 | Password | $ecret |
|----+--------+---------------+----------------|
| 5 | 102 | Email Address | jane@email.com |
------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我需要一个查询,它会给我一个这样的结果:
==================================================
| UserId | Username | Password | Email Address |
=========+===========+===========================|
| 100 | …Run Code Online (Sandbox Code Playgroud) 我的数据库中有这样的表(SQL Server 2008)
ID Type Desc
--------------------------------
C-0 Assets No damage
C-0 Environment No impact
C-0 People No injury or health effect
C-0 Reputation No impact
C-1 Assets Slight damage
C-1 Environment Slight environmental damage
C-1 People First Aid Case (FAC)
C-1 Reputation Slight impact; Compaints from local community
Run Code Online (Sandbox Code Playgroud)
我必须将Assets,People,Environment和Reputation显示为列,并将匹配的Desc显示为值.但是当我运行数据透视查询时,我的所有值都为空.
有人可以查看我的查询并告诉我我在哪里做错了吗?
Select severity_id,pt.[1] As People, [2] as Assets , [3] as Env, [4] as Rep
FROM
(
select * from COMM.Consequence
) As Temp
PIVOT
(
max([DESCRIPTION])
FOR [TYPE] In([1], …Run Code Online (Sandbox Code Playgroud) 我正在处理一组类似于以下内容的数据.
Run Code Online (Sandbox Code Playgroud)StudentName | AssignmentName | Grade --------------------------------------- StudentA | Assignment 1 | 100 StudentA | Assignment 2 | 80 StudentA | Total | 180 StudentB | Assignment 1 | 100 StudentB | Assignment 2 | 80 StudentB | Assignment 3 | 100 StudentB | Total | 280
作业的名称和数量是动态的,我需要将结果与以下内容相似.
Run Code Online (Sandbox Code Playgroud)Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | …
我正在尝试使用LINQ为图形准备数据.
我无法解决的问题是如何计算"与以前的差异.
我期望的结果是
ID = 1,Date = Now,DiffToPrev = 0;
ID = 1,日期=现在+ 1,DiffToPrev = 3;
ID = 1,日期=现在+ 2,DiffToPrev = 7;
ID = 1,日期=现在+ 3,DiffToPrev = -6;
等等...
你能帮我创建这样的查询吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class MyObject
{
public int ID { get; set; }
public DateTime Date { get; set; }
public int Value { get; set; }
}
class Program
{
static void Main()
{
var list = new List<MyObject>
{ …Run Code Online (Sandbox Code Playgroud) 我有一张这样的桌子
+---+-----+----+----+----+----+
|id |month|col1|col2|col3|col4|
+---+-----+----+----+----+----+
|101|Jan |A |B |NULL|B |
+---+-----+----+----+----+----+
|102|feb |C |A |G |E |
+---+-----+----+----+----+----+
Run Code Online (Sandbox Code Playgroud)
然后我想创建这样的报告
+----+---+---+
|desc|jan|feb|
+----+---+---+
|col1|A |C |
+----+---+---+
|col2|B |A |
+----+---+---+
|col3|0 |G |
+----+---+---+
|Col4|B |E |
+----+---+---+
Run Code Online (Sandbox Code Playgroud)
有人能帮忙吗?
我想使用数据透视SQL查询来构造一个结果表,其中连接文本作为数据透视表的DATA部分中的结果.
即使用简单的选择我得到以下结果:
+------------+-----------------+---------------+ | Event Name | Resource Type | Resource Name | +------------+-----------------+---------------+ | Event 1 | Resource Type 1 | Resource 1 | | Event 1 | Resource Type 1 | Resource 2 | | Event 1 | Resource Type 2 | Resource 3 | | Event 1 | Resource Type 2 | Resource 4 | | Event 1 | Resource Type 3 | Resource 5 | | Event 1 | Resource Type 3 | Resource 6 | …
我需要在MS SQL中进行以下转置
从:
Day A B
---------
Mon 1 2
Tue 3 4
Wed 5 6
Thu 7 8
Fri 9 0
Run Code Online (Sandbox Code Playgroud)
以下内容:
Value Mon Tue Wed Thu Fri
--------------------------
A 1 3 5 7 9
B 2 4 6 8 0
Run Code Online (Sandbox Code Playgroud)
我知道PIVOT当只有一列(A)时怎么做,但是当有多列要转置时我无法弄清楚怎么做(A,B,...)
要转置的示例代码:
select LEFT(datename(dw,datetime),3) as DateWeek,
sum(ACalls) as A,
Sum(BCalls) as B
from DataTable
group by LEFT(datename(dw,datetime),3)
Run Code Online (Sandbox Code Playgroud)
表结构:
Column DataType
DateTime Datetime
ACalls int
BCalls int
Run Code Online (Sandbox Code Playgroud)
任何帮助都感激不尽.
试图找出如何编写动态数据透视sql语句.哪里TEST_NAME可以有多达12个不同的值(因此有12列).一些VAL将是Int,Decimal或Varchar数据类型.我见过的大多数例子都包括一些聚合.我期待一个直接价值的支点.
Source Table
????????????????????????????
? TEST_NAME ? SBNO ? VAL ?
????????????????????????????
? Test1 ? 1 ? 0.304 ?
? Test1 ? 2 ? 0.31 ?
? Test1 ? 3 ? 0.306 ?
? Test2 ? 1 ? 2.3 ?
? Test2 ? 2 ? 2.5 ?
? Test2 ? 3 ? 2.4 ?
? Test3 ? 1 ? PASS ?
? Test3 ? 2 ? PASS ?
????????????????????????????
Desired Output
????????????????????????????
? SBNO Test1 Test2 Test3 ? …Run Code Online (Sandbox Code Playgroud) 我试图将视图缩放到一定的大小,但不能完全理解旋转的工作原理.
假设我只想向上缩放视图."pivotY"应该有什么价值?在XML中,它是一个百分比.如何以编程方式应用枢轴点?
例:
ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", scaleSize);
ObjectAnimator pivotY = ObjectAnimator.ofFloat(view, "pivotY", pivotPoint);
AnimatorSet set = new AnimatorSet();
set.PlayTogether(scaleY, pivotY);
Run Code Online (Sandbox Code Playgroud)