以下是我的数据库的架构。我一直在进行查询,但无法获得正确的结果。
TABLE: CUSTOMERINFORMATION
FIELDS: CUSTID, ACTOPTIONID,VAT,MINIMUMDOCT
TABLE: ONLINEORDERS
FIELDS: CUSTID, TOTALQUANTITY
TABLE: OFFLINEORDERS
FIELDS: CUSTID, TOTALQUANTITY
TABLE: ACTOPTS
FIELDS: ACTOPTIONID,ACTNAME
像这样的输出:临时表:CUSTID、ACTOPTIONID、TOTALONLINEQ、TOTALOFFLINEQ、ACTNAME
我需要将上述所有表格和提到的字段合并到一个表格中。我们还需要确保返回 NULL 行;表示以上所有内容的 UNION ALL。
这是为了创建一个数据导出实用程序,将上述所有内容导出到另一个表中。但我们需要确保即使表中没有与其他记录匹配的记录,也不会排除任何记录。
已编辑
以下是我的查询:
SELECT table1.*, table2.*, table3.*
FROM (SELECT ao.actname,
ci.custid,
ci.actoptionid,
ci.minimumdoct,
ci.vat
FROM customerinformation ci, actoptions ao
WHERE ci.actoptionid = ao.actoptionid) table1
LEFT JOIN (SELECT custid, totalquantity, FROM onlineorders) table2
ON table1.custid = table2.custid
LEFT JOIN (SELECT custid FROM offlineorders) table3
ON table2.custid = table3.custid
但是,上述内容不会从 RIGHT 上的表中返回行。我想从右边的表中返回 ROWS,为此我认为我需要在所有这些上使用 UNION ALL。我怎么做?