29639


phpの配列  
array('a'=>'1','b'=>2)  
という配列があり  
テーブルA  
id | val  
a | 'aaa'  
b | 'bbb'

テーブルB  
num | val  
1 | '111'  
2 | '222'  
の２つのテーブルをsqlで下記のように結び付けたいです。  
select 結果  
id | val | num | val  
a | 'aaa'| 1 | '111'  
b | 'bbb'| 2 | '222'

何かいい方法はあるでしょうか。


CC BY-SA 3.0
2016-10-18T01:51:11.890
29638
2016-10-18T02:06:45.793
19205
question
php sql postgresql
phpの配列を参照してSQLでテーブルを結合したい


下記のようにすれば可能です。  
性能的に結合条件にINDEX指定することをお勧めします。  
※バージョンによってはできないかも知れません。

[code]

    SELECT
            *
        FROM
            (
            VALUES
                ('a',1)　　　　← ここを配列の要素をまわして、作成
                ,('b',2) 
            ) AS phpData (phpid, phpval)  ← テーブル名（カラム１．．．）
                LEFT JOIN テーブルA
                    ON テーブルA.id = phpData.phpid
                LEFT JOIN テーブルB
                    ON テーブルB.val = phpData.phpval;
    
[/code]


CC BY-SA 3.0
2016-10-18T02:06:45.793
29639
2016-10-18T02:06:45.793
19001
29638
answer