MySQL数据库,Python开发,怎么写sql才能将表1和表2已结果的形式返回
SELECT IFNULL(a,a1) a,b,c FROM
(
SELECT test1.a,test1.b,test2.a AS a1, test2.c FROM test1 LEFT JOIN test2 ON test1.a = test2.a
UNION
SELECT test1.a,test1.b,test2.a AS a1, test2.c FROM test1 RIGHT JOIN test2 ON test1.a = test2.a
) AS ALL_
或
SELECT a,GROUP_CONCAT(b) b, GROUP_CONCAT(c) c FROM
(
SELECT a,b,null as c FROM test1
UNION ALL
SELECT a,null as b, c FROM test2
) AS ALL_
GROUP BY a
with T1 AS (
SELECT 1 AS A,'B1' B FROM dual UNION
SELECT 2 AS A,'B2' B FROM dual ),
T2 AS (
SELECT 1 AS A,'C1' B FROM dual UNION
SELECT 3 AS A,'C3' B FROM dual
)
SELECT CASE WHEN T1.A IS NULL THEN T2.A ELSE T1.A END A
,T1.B,T2.B
FROM T1
FULL JOIN T2
ON T1.A = T2.A
ORDER BY T1.A