2017-05-26 32 views
0

嗨,我是運行下面的查詢的Magento從查詢結果中加入實體ID與產品SKU

SELECT * FROM `catalog_product_entity_text` WHERE `value` LIKE '%knife%' OR `value` LIKE '%Knife%' OR `value` LIKE '%KNIFE%' OR `value` LIKE '%razor%' OR `value` LIKE '%Razor%' OR `value` LIKE '%RAZOR%' 

我不是肯定的,如果柱情況下senitive

這翻出所有實體ID的結果,但這對我沒用,我需要產品SKU的我怎麼能在結果中實現這一點,我假設我必須加入,但什麼表和如何。

,所以我想看到的結果是產品SKU匹配的描述我的搜索條件

感謝

與此

選擇p.entity_id,p.sku解決它,a.entity_id as description_id,a.value from catalog_product_entity p內連接catalog_product_entity_text a p.entity_id = a.entity_id WHERE a.value LIKE'%knife%'或a.value LIKE'%Knife%'或a.value LIKE '%KNIFE%'

不知道這是否爲做到這一點的最有效方法雖然

在DB有超過20萬的產品,並說明用大量文字

還不能確定這是否佔了Magento的DB一切

回答

0

讓的試試這個聲明。我認爲它可以幫助你:

select * 
from catalog_product_entity_text 
where LOWER(value) LIKE LOWER('%aBcDeF%'); 
+0

這是行不通的 - 你已經申請外卡來測試錯誤的一面! (並且沒有必要將小寫字符串'aaaaa'轉換爲小寫字母!) –

+0

@LordPeter,這只是一個例子。我們可以放任何東西 – hiule

0

用於提煉產品sku,使用(從您的SQL查詢結果entity_idcatalog_product_entity表搜索sku

像這樣:

SELECT sku from catalog_product_entity WHERE entity_id=23123

+0

這張表是我真正需要知道的,謝謝我使用這個select p.entity_id,p.sku,a.entity_id作爲description_id,來自catalog_product_entity的a.value p內部連接catalog_product_entity_text一個p.entity_id = a.entity_id WHERE a.value LIKE'%knife%'或a.value LIKE'%Knife%'或a.value LIKE'%KnIFE%' –

+0

選擇作爲答案 –

相關問題