一致的结果。
我有两种类型的产品。我为它们创建两个表(T1,T2(。我也有一个交易表(T3(,我想与T1一起加入T3,但是如果没有匹配,请加入T2
t1
|p_id|p_description|color|
|0001| xyz |blue |
|0002| bcd |red |
T2
|p_id|p_description|weight||size|type|
|e-01| xmay |3.25| | 50| s |
|s-02| cmay |2.32| | 25| x |
T3
|trn_id| p_id |cost|
| 1 | 0001 | 150|
| 2 | s-02 | 225|
您可以使用联合语句:
SELECT a.trn_id, a.p_id, a.cost, b.p_description
FROM t3 a
LEFT JOIN t1 b ON a.p_id = b.p_id
WHERE b.p_id IS NOT NULL
UNION SELECT a.trn_id, a.p_id, a.cost, b.p_description
FROM t3 a
LEFT JOIN t2 b ON a.p_id = b.p_id
WHERE b.p_id IS NOT NULL
此代码将为您提供与T3与T1一致的所有结果的表,然后在同一表上,T3与T2