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

Mysql JOIN(複数)テーブル

    ユニオンを試す:

    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table2 ON
    table1.name = table2.name
    UNION
    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table3 ON
    table1.name = table3.name
    

    編集:これらの結果から別の選択を行うことができ、次に制限、グループ化、または順序付けを行うことができます:

    SELECT * FROM
    (
        SELECT table1.name, temperature, pressure 
        FROM table1 inner join table2 ON
        table1.name = table2.name
        UNION
        SELECT table1.name, temperature, pressure 
        FROM table1 inner join table3 ON
        table1.name = table3.name
    ) as JoinedTable
    LIMIT 0, 1
    

    編集2:各テーブル(テーブル2とテーブル3)から1行だけを取得するには、クエリごとに制限/グループ化/順序付けを使用できます(列の日付があると仮定):

    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table2 ON
    table1.name = table2.name
    ORDER BY date DESC
    LIMIT 0, 1
    UNION
    SELECT table1.name, temperature, pressure 
    FROM table1 inner join table3 ON
    table1.name = table3.name
    ORDER BY date DESC
    LIMIT 0, 1
    


    1. 異なる行への複雑なSQLステートメント

    2. VisualStudioMySQLデータセットエラー

    3. SQLServerのデータベース内のすべてのテーブルのAddColumnステートメントを生成する方法-SQLServer/T-SQLチュートリアルパート49

    4. MariaDBでのRTRIM()のしくみ