2016-11-21 11 views
0

2つの異なるWHERE句で同じ列をクエリする必要があります。2つの列、同じデータ、異なる句節

Magentoと一緒に作業しており、テーブル形式を変更できません。

表ビュー:catalog_product_entity_varchar

entity_id | attribute_id | value    | 
5   | 60   | Bear Apprentice  | 
5   | 86   | bear-apprentice  | 
5   | 71   | Item Description  | 
5   | 74   | /a/p/apprentice2.jpg | 

私はそれはのように表示したいと思います。最終的には同じ行ではなく、二つの別々の列に表示されるようにattribute_id 6074を取得

entity_id | Item Name   | img     | 
5   | Bear Apprentice  | /a/p/apprentice2.jpg | 

。 列エイリアスでWHERE句を実行することはできますか?

ありがとうございます!

+0

「attribute_id」を知っていますか? – Shaharyar

+0

@Shaharyarはい、私はattribute_id 60と74を2つの異なる列で取得したいのですが、同じ行にあります。 – hinteractive02

答えて

2

mySQLでは、ピボットする1つの方法は、casemaxgroup byを使用することです。これは、entity_Idが1対の値(エンティティごとに1つの値につき1つの属性)しか持たないと仮定します。 60はエンティティ5に対して1回しか表示できません。

SELECT entity_ID 
    , max(case when attribute_Id = 60 then value end) as `Item Name` 
    , max(case when attribute_Id = 74 then value end) as img 
FROM tableName 
WHERE entity_ID = 5 
GROUP BY entity_ID 
関連する問題