我有两个表,如tnx_lc_invoice和tnx_lc_payment。我想从这两个表中生成报告。如何优化多个表中的多个子查询?
表模式如下面的图像
tnx_lc_payment
tnx_lc_invoice
我想生成输出利柯以下图片
输出
我想下面的查询和它产生类似的输出。但我想优化此查询或任何替代解决方案,以获得更快的结果。
SELECT
a.lc_no,
a.invoiceValue,
b.paymentValue,
(
a.invoiceValue - b.paymentValue
) AS shortPaymentValue
FROM
(
SELECT
lc_no,
sum(invoice_value) AS invoiceValue
FROM
tnx_lc_invoice
GROUP BY
lc_no
) a
INNER JOIN (
SELECT
lc_no,
sum(payment_value) AS paymentValue
FROM
tnx_lc_payment
GROUP BY
lc_no
) b ON a.lc_no = b.lc_no
如果还有其他替代方案,请让我知道。请提前致谢。
您使用的是SQL Server,PostgreSQL还是MySQL?他们都是不同的RDBMS –
SQL Server或MySQL是好的 – Faisal
我删除了无关的数据库标签。随意添加适合您实际使用的数据库的标签。数据通常存储在单个数据库中。 –