我MySQL
在我的Crystal Reports
. 我有 2 个查询,我需要full outer join
在这两个查询之间申请。但正如我们所知MySQL
,不支持full outer join
. 所以我full outer join
通过left outer join union right outer
在这两个命令对象之间使用来给出。
它工作正常。但我在两个查询中都有许多共同的列。举个例子,有一列叫做Till Number
. 有一种情况,如果command1.tillnumber
为空,那么我需要显示command2.tillnumber
,但现在我们正在应用完全外连接。我的意思是我们只有一个查询。所以它给出了所有的数据。那么,如果查询 1 数据不为空,我该如何获取它。
全外连接查询如下:
SELECT q1.pos_no
, q1.pos_name
, q1.start_trans_id
, q1.end_trans_id
, q1.EodDeposit
, q2.net
FROM ( <<<QUERY:1>>> ) AS q1
LEFT OUTER JOIN
( <<<QUERY:2>>> ) AS q2
ON q2.pos_no = q1.pos_no
UNION
SELECT q2.pos_no
, q2.pos_name
, q1.start_trans_id
, q1.end_trans_id
, q1.EodDeposit
, q 2. net
FROM ( <<<QUERY:1>>> ) AS q 1
RIGHT OUTER JOIN
( <<<QUERY:2>>> ) AS q2
ON q1. pos_no = q2. pos_no
;
请建议