繁体   English   中英

SQL 聚合和分组

[英]SQL Aggregation and Grouping

刚刚深入 SQL 并看到了我喜欢的报告格式,并希望这是正确的提问论坛。 我熟悉基本的选择语句和分组,但我很难做到这一点,或者是否可以使用单个数据表。

无论如何,下面是我拥有的表格样本。 桌子:

Item      Loc   Frozen     Scanned    Adj
1457481   85      0         1          1
1457481   85      0         1          1
1457481   25      1         1          0
1457481   25      1         1          0
1457481   35      1         1          0
1457481   45      1         1          0

Here is the format I would like to show:

Item       GoodLoc     Adj
1457481     2@25       2@85
            1@35
            1@45    


这甚至可能不加入额外的表吗? 非常感谢任何帮助。

没有关于问题的更多细节,这只是猜测,但这里有一个可能的解决方案:

假设表:

CREATE TABLE Items
(
    item    INT,
    Loc     INT,
    Frozen  BIT,
    Scanner BIT,
    Adj     BIT
)

尝试

SELECT  DISTINCT
        Item,
        CASE
            WHEN Frozen = 0
            THEN NULL
            ELSE CONVERT(VARCHAR(5),COUNT(Loc) OVER (PARTITION BY Loc)) + '@' + CONVERT(VARCHAR(5),Loc)
        END As GoodLoc,
        CASE
            WHEN Adj = 0
            THEN NULL
            ELSE CONVERT(VARCHAR(5),COUNT(Adj) OVER (PARTITION BY Adj)) + '@' + CONVERT(VARCHAR(5),Loc)
        END As Adj
FROM    Items
ORDER BY GoodLoc DESC

正如其他人所说,您似乎正在尝试呈现您应该在表示层 (SSRS) 而不是 Management Studio 中执行的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM