1

2 つの mysql テーブルがあります。1 つのテーブルは「受け取った支払い」用で、もう 1 つのテーブルは「支払済み」用です。両方のテーブルには共通のフィールドがいくつかありますが、受け取った支払いに「badDebt」の列が追加されるなど、いくつかは異なります。両方のテーブルに日付列があります。

ここで、これら 2 つのテーブルから日付ごとに完全なトランザクション ステートメントを生成する必要があります。したがって、ORDERBYでUNIONを使用することを計画しました。ただし、これでは列の数が同じである必要があるため、機能しません。

私の場合、列は異なります。この状況で何をすべきですか?

4

2 に答える 2

1

ダミー/プレースホルダー列を使用します。

例えば

select col1, NULL as col2, col3 from Table1
union all
select col1, col2, Null as col3 from Table2

不足している列には NULL または適切なダミー値を使用します。

「AS」ステートメントは、ダミーの列に名前を付けるために使用されます。厳密に言えば、列名を定義する必要があるのは最初だけだと思いますが、明示的にすることを好みますSELECTUNION

于 2013-05-03T06:22:25.460 に答える