Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

apa yang salah dengan kueri Magento ini?

Baru saja memutakhirkan ke 1.9.2.2 untuk situs web teman dan mengalami masalah ini, saya memasang tambalan berikut di file,

[magento/app/code/core/Mage/CatalogRule/Model/Action/Index/Refresh.php]

Saya tidak bisa mengatakan efek onflow apa yang mungkin ada dan pembaruan di masa mendatang harus berhati-hati untuk tidak melewatkan fitur ini jika file ini ditimpa, tentu saja, tetapi untuk memulai tambahkan baris:

'rules_hash'            => new Zend_Db_Expr('NULL'),

untuk membuat pernyataan pilih terlihat sebagai berikut:

$select = $this->_connection->select()
        ->from($indexSelect, array())
        ->joinInner(
            array(
                'dates' => $this->_connection->select()->union(
                    array(
                        new Zend_Db_Expr(
                            'SELECT ' . $this->_connection->getDateAddSql(
                                $this->_connection->fromUnixtime($time),
                                -1,
                                Varien_Db_Adapter_Interface::INTERVAL_DAY
                            ) . ' AS rule_date'
                        ),
                        new Zend_Db_Expr('SELECT ' . $this->_connection->fromUnixtime($time) . ' AS rule_date'),
                        new Zend_Db_Expr(
                            'SELECT ' . $this->_connection->getDateAddSql(
                                $this->_connection->fromUnixtime($time),
                                1,
                                Varien_Db_Adapter_Interface::INTERVAL_DAY
                            ) . ' AS rule_date'
                        ),
                    )
                )
            ),
            '1=1',
            array()
        )
        ->columns(
            array(
                'rule_product_price_id' => new Zend_Db_Expr('NULL'),
                'rule_date'             => 'dates.rule_date',
                'customer_group_id'     => 'customer_group_id',
                'product_id'            => 'product_id',
                'rule_price'            => 'MIN(rule_price)',
                'website_id'            => new Zend_Db_Expr($website->getId()),
                'latest_start_date'     => 'latest_start_date',
                'earliest_end_date'     => 'earliest_end_date',
                /**
                Added because rules_hash was created by some module and not handled properly,
                see http://stackoverflow.com/questions/19480415/whats-wrong-with-this-magento-query
                */
                'rules_hash'            => new Zend_Db_Expr('NULL'),
            )
        )
        ->where(new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " >= from_time"))
        ->where(
            $this->_connection->getCheckSql(
                new Zend_Db_Expr('to_time = 0'),
                new Zend_Db_Expr(1),
                new Zend_Db_Expr($this->_connection->getUnixTimestamp('dates.rule_date') . " <= to_time")
            )
        )
        ->group(array('customer_group_id', 'product_id', 'dates.rule_date'));

    return $select;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tabel mySQL ERROR 1064

  2. kesalahan saat menginstal caldecott

  3. Permintaan MySQL menggunakan operator 'dalam':mengapa hasil berbeda dengan tanda kutip?

  4. Mencegah Injeksi SQL di C

  5. Bagaimana saya bisa menjumlahkan nilai dalam database kamar android