小编Uch*_*lah的帖子

TSQL PIVOT MULTIPLE COLUMNS

我有下表但不确定是否可以转动这个并保留所有标签.

RATIO               RESULT   SCORE   GRADE
Current Ratio       1.294    60      Good
Gearing Ratio       0.3384   70      Good
Performance Ratio   0.0427   50      Satisfactory
TOTAL               NULL     180     Good
Run Code Online (Sandbox Code Playgroud)

我承认在使用枢轴方面不是很好,所以经过几次尝试导致这个输出:

SELECT 'RESULT' AS 'Ratio'
  ,[Current Ratio] AS 'Current Ratio'
  ,[Gearing Ratio] AS 'Gearing Ratio'
  ,[Performance Ratio] AS 'Performance Ratio'
  ,[TOTAL] AS 'TOTAL'
FROM
(
  SELECT RATIO, RESULT 
  FROM GRAND_TOTALS
) AS SREC
PIVOT 
(
  MAX(RESULT) 
  FOR RATIO IN ([Current Ratio],[Gearing Ratio], [Performance Ratio], [TOTAL])
) AS PVT
Run Code Online (Sandbox Code Playgroud)

这给出了结果:

Ratio    Current Ratio   Gearing Ratio   Performance Ratio …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server pivot

35
推荐指数
1
解决办法
13万
查看次数

SQL:如何从不同的表中求和两个值

好的.

我已经在工作中投入了一个项目,虽然我有一些SQL技能,但它们非常生疏.

其中一个工作场景给我留下了一些表格,其中包含了我需要总结的值.它们也没有链接,但是所有表中的顺序都是相同的.

基本上,我想采取这两个表:

CASH TABLE  
London  540
France  240
Belgium 340

CHEQUE TABLE
London  780
France  490
Belgium 230
Run Code Online (Sandbox Code Playgroud)

要获得这样的输出以输入图形应用程序:

London  1320
France  730
Belgium 570
Run Code Online (Sandbox Code Playgroud)

请帮忙.

sql t-sql sql-server dashboard sum

26
推荐指数
2
解决办法
11万
查看次数

TSQL SELECT基于条件

我试图根据条件从CTE中做出选择.

我已经为今天的期间宣布了一个变量(@PRD).它保留了我们目前所处期间的价值.

现在我想从一个表中做出选择,根据我们是否在今年上半年来限制返回的信息.

例如,我们处于第2期,所以我希望从我的CTE返回的所有内容都在PRD 1和5之间.如果我们在第6期(5之后),那么是的,我想要从表中返回所有内容.

这是我想要完成的伪代码:

SELECT
    CASE
       WHEN @PRD <= 5
         THEN (SELECT * FROM DISPLAY WHERE PERIOD IN (1,2,3,4,5))
         ELSE (SELECT * FROM DISPLAY)
    END 
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式.

请问我怎么能这样做?

谢谢x

编辑/更新:

更多的代码涉及CTE并且非常长.底线是让我说我​​有这个CTE

;WITH DISPLAY as (
     select * from lots_of_things
)
SELECT * FROM DISPLAY
Run Code Online (Sandbox Code Playgroud)

在此CTE上进行常规选择后,它返回如下所示的数据:

PERIOD (INT)    DEPARTMENT   GROUP  BUDGET
1               ENERGY       HE     500
2               ENERGY       HE     780
3               ENERGY       HE     1500
4               ENERGY       HE     4500
5               ENERGY       HE     400
6               ENERGY       HE     3500
7               ENERGY …
Run Code Online (Sandbox Code Playgroud)

t-sql select sql-server-2008 conditional-statements

1
推荐指数
1
解决办法
290
查看次数