我已经说过了3个产品
我希望在magento中进行查询,以sku xyz
获得最低价格,仅xyz_1
。
我想要这样的select ,Regex('SKU','myexpression') as SKU
来删除最后一部分,即#34; _"部分来自sku,然后在产品收集上应用过滤器以获得最低价格的产品。
任何想法如何处理Magento?
答案 0 :(得分:1)
你可以这个正则表达式:^xyz
。这将匹配启动与xyz
的任何字符串,并忽略后面的内容。
话虽这么说,你需要修改你的查询以按价格对结果进行排序,因为正则表达式不适合数字比较(少于,大于等)。
编辑:根据您的问题,您可以将here中的一些代码调整为:
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
// now $write is an instance of Zend_Db_Adapter_Abstract
$readresult=$write->query("SELECT SUBSTRING(sku, 0, INSTR(sku, '_')) AS SKU FROM <your table> WHERE sku REGEXP '^<your sku>' ORDER BY price asc LIMIT 1;");
SELECT INSTR('foobarbar','bar');