2017-06-20 8 views
1

テーブルからいくつかの列を選択する必要があります。例:MySqlは値があるときに複数の列を選択する

SELECT 
    col_a, col_b, col_c 
FROM user_table 

INNER JOIN col_d, col_e, col_f ON col_type = 1 
INNER JOIN col_g, col_h, col_i ON col_type = 2 

WHERE id = :id 
AND active = 1 

私はmysqlを初めて使用しているので、どのようにすればいいのですか。私はCASE WHENを使用しようとしましたが、単一の列を選択することができ、複数の列を選択する必要がありました。

答えて

0

私はあなたがINNER JOINをmisunterstood考えると、あなたはその

SELECT 
    col_a, col_b, col_c, 
    IF(col_type = 1, col_d, NULL) AS col_d, 
    IF(col_type = 1, col_e, NULL) AS col_e, 
    IF(col_type = 2, col_g, NULL) AS col_g, 
    IF(col_type = 2, col_h, NULL) AS col_h 
FROM user_table 

WHERE id = :id 
AND active = 1 

のような何かをしたいが、私はすべてのcolsをロードして、他の言語(PHP?)でそれを処理するためにprefere。

+0

これは私が避けようとしていることです。選択するカラムが20個ある場合、バックエンドでPHPを1回だけ20回実行する必要があります。 – celsomtrindade

+0

それからPHPが行く方法です。このようなエントリを読み込むための非常に快適で柔軟な機能をそこに構築することができます。 –

関連する問題