2016-11-21 66 views
0

我需要用兩個不同的WHERE子句語句來查詢同一列。兩列,相同的數據,不同的地方條款

我正在使用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 | 

我想有它顯示爲:

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

最終得到attribute_id 6074出現在同一行,但在兩個單獨的列。 是否可以在列別名上執行WHERE子句?

謝謝!

+0

你知道'attribute_id'嗎? – Shaharyar

+0

@Shaharyar是的,我想要在兩個不同的列中獲得attribute_id 60和74,但在同一行。 – hinteractive02

回答

2

在mySQL中,一種方法是使用casemaxgroup by。這確實假定entity_Id只能有一個配對值(每個實體每個值有1個屬性),例如60只能出現一次實體5.

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 
相關問題