【问题标题】:Need proper syntax for pseudocode伪代码需要正确的语法
【发布时间】:2016-11-08 17:17:13
【问题描述】:

我有一个 SQL Server 查询,在伪代码中看起来像这样

    SELECT  item_id, 
    item_desc, 
    ship2_name, 
    serial_number,
    invoice_no,
            (CASE WHEN invoice_no <> 'null' THEN 1 END)AS mult_inv, 
            quantity_shipped,
        (CASE WHEN (mult_inv > 1) THEN SUM(quantity_shipped))AS ship_total
    FROM table

基本上当发票编号出现超过 1 次时,我需要添加发货数量的值并将它们存储在新列中。

【问题讨论】:

  • 样本数据和期望的结果真的很重要。
  • 你自己尝试了什么?你希望我们做你的功课吗?
  • 这帮助我从这个网站中获得最大收益。 stackoverflow.com/help/how-to-ask
  • 看起来你的伪代码是正确的伪代码语法。也许查一下how to conditionally store data from one table in another table with SQL 什么的?
  • 我更新了我的代码以尝试更具体,我不知道这是否有帮助或是否需要更多信息。

标签: sql sql-server syntax pseudocode


【解决方案1】:

你描述的听起来像一个窗口函数。这似乎符合您的描述:

SELECT column1, column2, column3, column4, column5,
       (CASE WHEN COUNT(*) OVER (PARTITION BY column5)
             THEN SUM(column5) OVER ()
        END) as column6
FROM table1;

我不能 100% 确定这是您真正想要的。

【讨论】:

  • 戈登的猜测!
  • 我不需要将总和存储在第 6 列中,但是当第 5 列出现多次时,我需要将第 6 列中的值的总和,并且我需要将这些新值存储在新列中显示,对不起,我对 SQL 不是很精通,这是我第二次使用这个网站,所以我不知道我是否提供了正确的信息类型。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多