Sql 结束\u类\u代码 提示:您需要使用GROUP BY推广explictJOINsintaxis的使用,Aaron Bertrand为此写了一篇很好的文章。向我们展示数据库模式、示例数据、当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的

Sql 结束\u类\u代码 提示:您需要使用GROUP BY推广explictJOINsintaxis的使用,Aaron Bertrand为此写了一篇很好的文章。向我们展示数据库模式、示例数据、当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的,sql,sql-server,Sql,Sql Server,结束\u类\u代码 提示:您需要使用GROUP BY推广explictJOINsintaxis的使用,Aaron Bertrand为此写了一篇很好的文章。向我们展示数据库模式、示例数据、当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的好地方。什么是供应商,什么是销售?提示:您需要使用groupby推广explictJOINsintaxis,Aaron Bertrand写了一篇很好的文章。向我们展示db模式、示例数据,当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获

结束\u类\u代码

提示:您需要使用
GROUP BY
推广explict
JOIN
sintaxis的使用,Aaron Bertrand为此写了一篇很好的文章。向我们展示数据库模式、示例数据、当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的好地方。什么是供应商,什么是销售?提示:您需要使用
groupby
推广explict
JOIN
sintaxis,Aaron Bertrand写了一篇很好的文章。向我们展示db模式、示例数据,当前和预期输出。请阅读,这里是一个学习如何提高问题质量和获得更好答案的好地方。什么是供应商,什么是销售?非常感谢。当我实现它时,仍然会得到多行相同的供应商代码。我要找的是,每个供应商代码对应一行,列出支付给该供应商的总金额
(金额净额)
。供应商代码看起来像
V001
。有了这些代码,我就可以返回近101000行了。@anve,我刚刚详细阐述了我的答案,我不知道你是否能理解它。读两遍,并将其设置为您的场景。您好。他得到多个值的原因是您留在了“应用日期”字段。@非常感谢。当我实现它时,仍然会得到多行相同的供应商代码。我要找的是,每个供应商代码对应一行,列出支付给该供应商的总金额
(金额净额)
。供应商代码看起来像
V001
。有了这些代码,我就可以返回近101000行了。@anve,我刚刚详细阐述了我的答案,我不知道你是否能理解它。读两遍,并将其设置为您的场景。注意。他得到多个值的原因是因为您在“date_applied”字段中留下了。不,不是,请再次查看;)@你不接受我的回答作为解决方案有什么原因吗?不,没有,再看看;)@你为什么不接受我的回答作为解决方案?
select s.vendor_code, 
       a.address_name, 
       a.addr2, a.addr3, 
       a.city, a.state, 
       a.postal_code, a.vend_class_code, 
       date_applied, SUM(amt_net) as 'Total'
from appyhdr_all s, apmaster a
where s.vendor_code = a.vendor_code
  and s.pay_to_code = a.pay_to_code
  and void_flag=0
  and s.payment_type <> 4
select s.vendor_code, 
       a.address_name, 
       a.addr2, a.addr3, 
       a.city, a.state, 
       a.postal_code, a.vend_class_code, 
       date_applied, SUM(amt_net) as 'Total'
from appyhdr_all s, apmaster a
where s.vendor_code = a.vendor_code
  and s.pay_to_code = a.pay_to_code
  and void_flag=0
  and s.payment_type <> 4
group by s.vendor_code,       --<--here it is 
       a.address_name, 
       a.addr2, a.addr3, 
       a.city, a.state, 
       a.postal_code, a.vend_class_code, 
       date_applied
...
from appyhdr_all s
inner join apmaster a
    on s.vendor_code = a.vendor_code
   and s.pay_to_code = a.pay_to_code
where void_flag=0
...
with total_by_vendor as (
 select s.vendor_code, SUM(amt_net) as 'Total'
 from appyhdr_all s inner join apmaster a
    on s.vendor_code = a.vendor_code
   and s.pay_to_code = a.pay_to_code
 where void_flag=0
   and s.payment_type <> 4
 group by s.vendor_code
)
select *
from total_by_vendor;
with total_by_vendor as (
 select s.vendor_code, SUM(amt_net) as 'Total'
 from appyhdr_all s inner join apmaster a
    on s.vendor_code = a.vendor_code
   and s.pay_to_code = a.pay_to_code
 where void_flag=0
   and s.payment_type <> 4
 group by s.vendor_code
),
recent_apmaster as (
 select vendor_code, a.address_name, 
       a.addr2, a.addr3, 
       a.city, a.state, 
       a.postal_code, a.vend_class_code,
       row_number() OVER ( PARTITION BY vendor_code 
                           ORDER BY a.address_name desc ) --put here criteria
       as n
 from apmaster a
)
select *
from total_by_vendor T inner join recent_apmaster a
  on T.vendor_code = a.vendor_code
where n = 1;
select s.vendor_code, 
       SUM(amt_net) as 'Total'
from appyhdr_all s
inner join apmaster a
    on s.vendor_code = a.vendor_code
   and s.pay_to_code = a.pay_to_code
where void_flag=0
and s.payment_type <> 4
group by s.vendor_code
select s.vendor_code 
       , a.address_name 
       , a.addr2
       , a.addr3 
       , a.city
       , a.state 
       , a.postal_code
       , a.vend_class_code 
       , SUM(amt_net) as 'Total'
from    appyhdr_all s
join    apmaster a
        on s.vendor_code = a.vendor_code
where   1 = 1
    and s.pay_to_code = a.pay_to_code
    and void_flag=0
    and s.payment_type <> 4
group 
by      s.vendor_code 
       , a.address_name 
       , a.addr2
       , a.addr3 
       , a.city
       , a.state 
       , a.postal_code
       , a.vend_class_code