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

列が存在するすべてのテーブルから列を選択するにはどうすればよいですか?

    テーブルからレコードを取得するには、そのテーブルに対してクエリを記述します。したがって、これらの各テーブルに対するクエリがないと、指定されたフィールドを持つテーブルからすべてのレコードを取得することはできません。

    関心のある列のサブセットがあり、このサブセットがすべてのテーブルで共有されている場合は、次のようにUNION /UNIONALL操作を使用できます。

    select * from (
    select customer_number, phone, address from table1
    union all
    select customer_number, phone, address from table2
    union all
    select customer_number, phone, address from table3
    )
    where customer_number = 'my number'
    

    または、特定のクライアントに関するレコードがどのテーブルにあるかを知りたいだけの単純なケースでは

    select * from (
    select 'table1' src_tbl, customer_number from table1
    union all
    select 'table2', customer_number from table2
    union all
    select 'table3', customer_number from table3
    )
    where customer_number = 'my number'
    

    それ以外の場合は、各テーブルを個別にクエリする必要があります。



    1. 表2から表1を更新

    2. group byを組み合わせて、mysqlをカウントします

    3. グーグルコンピューティングエンジンのpostgresサーバーに接続する

    4. サブクエリで外部クエリのテーブルを参照する