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

SQLのxlookup関数

    あなたの質問は基本的に正しいです。唯一の問題は、おそらくc1のすべての行が必要なことです。 c2の追加の列 。そのために、c1 テーブルは、LEFT JOINの最初のテーブルである必要があります :

    SELECT c1.SID, c1.FID, c1.companyname, 
           C1.parentID, c1.parentname, c1.companytype,
           c1.companystatus, c2.researchID
    FROM c1 LEFT JOIN
         c2 
         ON c2.SID = c1.SID
    

    また、FROMの前に残っているカンマを削除しました 条項。

    もちろん、すべてのSID s in c1 正しい値が入力されている場合は、外部結合はまったく必要ありません。その場合、c1の順序 / c2 FROMで 条項は関係ありません。

    編集:

    researchIdに関連付けられた名前が必要な場合 、別のJOINを使用します :

    SELECT c1.SID, c1.FID, c1.companyname, 
           C1.parentID, c1.parentname, c1.companytype,
           c1.companystatus, c2.researchID,
           c2r.companyName
    FROM c1 LEFT JOIN
         c2 
         ON c2.SID = c1.SID LEFT JOIN
         c2 c2r
         ON c2r.SID = c2.ResarchID
    



    1. 値が現在の値より大きい場合のMySQLの更新

    2. Ubuntuにpsycopg2をインストールする

    3. MySQLピボットテーブルヘッドスクラッチャー

    4. EntityFrameworkおよびMySQLとの楽観的同時実行性