0
我有两个表,其中包含两种不同类型的发票。我需要创建一个查询,从两个表中统计每个客户端的发票数量。如何连接两个没有任何关系的表?
此外,每个发票类型还有其他表格,这些表格包含关于将JOIN语句添加到每个SELECT语句的发票的信息。但这两张表格不共享任何详细的发票表格。
所以这就是模式的样子: invoiceA与serviceInvoice和invoiceDetail有关系。 invoiceB与packageInvoice和supportInvoice有关系。
我没有包含任何JOIN,但这是我的查询看起来像什么的粗略想法。
SELECT
i.client_id, COUNT(i.invoice_num)
FROM
(
SELECT client_id, invoice_num, cff_num FROM invoiceA
UNION
SELECT client_id, invoice_num, cff_num FROM invoiceB
)i
WHERE
i.cff_num IS NULL
GROUP BY
i.client_id
该查询似乎不可思议,效率低下,我想做一个留在invoiceB加入,但也有具有两个表中相同的行CLIENT_ID。有什么我可以做的,以优化这个?
您使用的RDBMS是什么? – Taryn
我正在使用MS-SQL – samwell
该查询看起来既不奇怪也不低效。 –