sql >> データベース >  >> RDS >> Mysql

3つのテーブルに対するトリッキーなSQLステートメント

    データがない列のselectステートメントで定数としてデフォルトを指定できます。

    だから

    SELECT Date, User, Amount, 'NotApplicable' as Who, 'NotApplicable' as What from t1 where user = 'me'
    UNION
    SELECT Date, User, Amount, Who, 'NotApplicable' from t2 where user = 'me'
    UNION
    SELECT Date, User, Amount, 'NotApplicable', What from t3 where user = 'me'
    

    これは、WhoAndWhatが文字列型の列であることを前提としています。 Nullを使用することもできますが、何らかのプレースホルダーが必要です。

    ただし、他に見逃した詳細がない限り、追加情報を別のテーブルに配置し、すべてのトランザクションを1つのテーブルに保持する方がうまくいくと思います。



    1. FGCB_ADD_REMOVEラッチ

    2. PostgreSQL:ブール列のインデックスを作成します

    3. ClusterControlが仮想IPを構成する方法とフェイルオーバー中に何を期待するか

    4. mysqlで重複をカウントせずに日付の範囲を合計する