3

TableA と TableB という名前の 2 つのテーブルがあります

TableAとしましょう

Id   TableAName 
------------------
 1     11
 2     12
 3     13
 4     14
 5     15

TableBとしましょう

Id   TableBName 
----------------
 1     11
 2     22
 3     23
 4     24
 5     25

以下のような結果が欲しい

 TableAName  TableBName
-------------------------
   11           11
   12           Null
   13           Null 
   14           Null  
   15           Null
   Null         22
   Null         23
   Null         24
   Null         25

私はこの結果を得るために混乱しています。両方の列が1つの行に表示される値と同じ場合、レコードが必要です。そうでない場合は必要ありません。

これどうやってするの ?

4

1 に答える 1

3

標準 SQL:

SELECT
  A.TableAName, B.TableBName
FROM
  TableA A
  FULL OUTER JOIN
  TableB B ON A.TableAName = B.TableBName

MySQL は FULL OUTER JOIN をサポートしていません

SELECT
  A.TableAName, B.TableBName
FROM
  TableA A
  LEFT OUTER JOIN
  TableB B ON A.TableAName = B.TableBName
UNION
SELECT
  A.TableAName, B.TableBName
FROM
  TableA A
  RIGHT OUTER JOIN
  TableB B ON A.TableAName = B.TableBName

編集、@Dems削除された回答から取得

これを追加して、上記と同じ順序にすることができます

ORDER BY
     COALESCE(A.TableAName, B.TableAName)
于 2012-08-16T08:04:25.013 に答える