MSSQL:从子查询

时间:2017-06-27 14:26:11

标签: sql sql-server subquery case

将主查询分组为多个条件,其中一个是case表达式的结果,我想编写一个子查询来向我的结果集添加一列。此子查询必须按相同条件分组。如何根据案例表达式的结果连接子查询和主查询?

我的设置太奇怪了,因为我尝试在sql server 2008中实现中值计算。如果它不适用于主查询中的case表达式的分组,它将正常工作。

有关评论的更新:

问题是我必须使子查询与主查询在同一组数据上工作。我通过执行相同的分组并在WHERE子句中连接它来尝试这个。

但是如何做一个像

这样的WHERE子句
WHERE
subquery.property1 = mainquery.property1 // works
AND
CASE WHEN (subquery.A>subquery.B) THEN 'C' ELSE 'D' = CASE WHEN (mainquery.A>mainqueryB) THEN 
'C' ELSE 'D' // i dont know how to do this properly

这样很好还是你真的想要完整的查询?我是因为它非常庞大而且令人困惑。

UPDATE2: 使用CTE工作得很好。使用包含CASE结果的新列将数据写入CTE,然后在CTE上进行所有进一步选择,使该列成为where条件之一。

0 个答案:

没有答案