Sql server 2008 SQL Server查询-来自两列的四个结果

Sql server 2008 SQL Server查询-来自两列的四个结果,sql-server-2008,Sql Server 2008,我正在与一家外包开发的数据库合作 他们给出了两列——作为示例 Charge Value Test 0.23 Jop 0.10 Bob 0.15 我想查询这个表,以便从这两列中得到以下输出 Charge Value Bob Value Total Test 0.23 0.15 0.38 它们显然是通过主键连接在一起的。所以我想用这两列来表示四列中的数据。我只是想知道这是否可能,或者我是否必须执行多个查询 希望这是足够的信息 您可以通过条件聚合来实现这一

我正在与一家外包开发的数据库合作

他们给出了两列——作为示例

Charge Value 
Test   0.23 
Jop    0.10 
Bob    0.15 
我想查询这个表,以便从这两列中得到以下输出

Charge Value Bob Value Total
Test   0.23  0.15      0.38 
它们显然是通过主键连接在一起的。所以我想用这两列来表示四列中的数据。我只是想知道这是否可能,或者我是否必须执行多个查询


希望这是足够的信息

您可以通过条件聚合来实现这一点:

select 'Test' as Charge,
       max(case when t.charge = 'Test' then value end) as Value,
       max(case when t.charge = 'Bob' then value end) as "Bob Value",
       sum(case when t.charge in ('Test', 'Bob') then value end) as Total
from t

您的结果示例正确吗?Jop的分数在哪里?@Joro这只是一个例子,所以我可以对指控做一个Where原因,这样它只包含“test”,但也显示了bob值以及两个值的总和。我的意思是你的例子是误导性的(不符合逻辑)。为了得到一些帮助,你需要纠正它。您的输出结果没有任何意义-电荷值Bob值总计。。。你的意思是结果栏必须是Test Jop Bob和Total吗?我想你误解了这个问题。第一个表是一个示例。例如,有一种称为TestJopBob的电荷,每种电荷都与一个值相关联。我需要执行一个查询以根据费用的选择返回值,因此我从charge行返回一个值,称为test,值为0.23,但在同一个查询中,我希望返回bob的值(从charge行),并希望返回两者的合计值。我想忽略Jop,因为它不是必需的。这能更好地解释吗?没关系。向我解释为什么有两列“值”-在T-SQL中不可能有名称重复的列,并向我解释为什么在结果表中没有Jop的结果,但其值包含在总计列中?非常感谢!很高兴你理解我的问题。