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
該查詢看起來既不奇怪也不低效。 –