我有两张table:
发票(包含id字段)
合同(包含fk到发票+“代码”字段)
假设我在invoices表中有一条记录,在contracts表中有两条记录。合同表中的两个记录都指向同一个发票记录。
欲望:我想数一下发票的数量。
到目前为止我得到的是:
select
c.code, count(*)
from
invoices i
join
contracts c
on
c.invoice_id = i.id
group by
c.code
尽管计数显示的是2而不是所需的1。我知道这是因为contract表上的join,但不确定如何解决这个问题。
2条答案
按热度按时间q1qsirdb1#
你要发票号码吗?
你想要有合同的发票吗?
您的代码查找每个发票的合同数
ffvjumwh2#
尝试计数(不同的i.id);它应该统计结果集中不同的发票id。