我需要一些帮助来确定将两个表组合成一个表的 SQL。我想合并表格并在每个表格的不同行上显示数据,但我下面的内容只显示一行。
以下是表格:
CREATE TABLE tenant_invoices(
invoice_id INT,
col1 INT,
col2 INT
)
CREATE TABLE tenant_payments(
pmt_invoice_id INT,
colA INT,
colB INT
)
这是我需要创建的临时表:
CREATE TEMPORARY TABLE tenant_invoices
SELECT * FROM invoices
CREATE TEMPORARY TABLE tenant_payments
SELECT * FROM payments
select ti.*, tp.*
from tenant_invoices ti
left join tenant_payments tp
on ti.invoice_id = tp.pmt_invoice_id
ORDER BY ti.invoice_date DESC;
这导致两个表合并在一起,但只创建了一行:
invoice_id col1 col2 pmt_invoice_id colA ColB
1 ABC XYZ 1 111 222
我希望表格能够将表格合并在一起,以便获得所有列,但是我希望将行分开而不是包含合并数据的一行,以便我可以以更合乎逻辑的方式循环遍历数据:
invoice_id col1 col2 pmt_invoice_id colA ColB
1 ABC XYZ null null null
1 111 222
有没有办法可以用 SQL 完成这个?
谢谢。