SELECT *
FROM itemsindex
WHERE name MATCH(@name request)
ORDER BY price DESC
SELECT *
FROM items
WHERE id IN(ids)
&& EXISTS( SELECT *
FROM characteristics
WHERE id = items.id
&& char_val = filterVal )
&& EXISTS( SELECT *
FROM characteristics
WHERE id = items.id
&& char_val = filterVal2 )
db.items.find({$text: {$search: request}, characteristics: {char_val: filterVal}});
SELECT DISTINCT
prod.id,
prod.name,
prod.producer_id,
prod.rating,
prod.data,
pr.price,
pr.valute_id
FROM products prod
-- в результате тут будет массив.
-- join будет обьединять не с таблицой, а с массивом !!!
-- сделал чтобы вытянуть valute_id минимальной цены
LEFT JOIN (
SELECT
ROUND(price, 2) AS price,
valute_id,
product_id
FROM price
WHERE moderation = 1
&& type_product = 1
ORDER BY price
) pr ON pr.product_id = prod.id
WHERE prod.archive = 0
&& (prod.color_id = 1 || prod.color_id = 43)
&& pr.price >= 2000 && pr.price <= 10000
GROUP BY prod.id
ORDER BY relevant DESC
LIMIT 0, 20
/**
* Добавляем производителя
*
* @param string|null $result
*/
public function addProducer($result = null)
{
// проверка на авторизацию
$this->logged();
if (isset($_POST['submit'])) {
$Producer = new Producer(new DataBase());
$res = $Producer->addProducer(1, $_POST['producer']);
$res = ($res === true) ? 'success' : 'error';
header('Location: ' . _HTTP_SERVER . 'admin/add-producer/' . $res);
exit;
}
$data = [];
$data['result'] = $result;
$this->renderAdminPage('add_producer', $data);
}
// ------- AJAX -------
/**
* Удаление производителя
* @param int|null $producerId
*/
public function delProducer($producerId = null)
{
// проверка на авторизацию
$this->logged();
if (isset($_POST['producerId'])) {
$Producer = new Producer(new DataBase());
echo json_encode(['result' => $Producer->delProducer($_POST['producerId'])]);
}
}
SELECT
hc1.label AS country,
hc1.id AS country_id,
hc3.label AS city,
hc3.id AS city_id,
hh.id AS hotel_id,
hh.name AS name,
hh.catalog AS catalog
FROM `hotels_catalog` hc1
INNER JOIN `hotels_catalog` hc2 ON hc2.parent_id = hc1.id
INNER JOIN `hotels_catalog` hc3 ON hc3.parent_id = hc2.id
-- error
-- Вот проблема ---> hh.catalog = hc3.id
LEFT JOIN `hotels_hotels` hh ON hc3.id = hh.catalog
-- end
WHERE
hc1.level = 1
&& hc1.label = 'Canada'
&& hc2.level = 2
&& hc3.level = 3
&& hh.id is NULL
GROUP BY hc3.id
ORDER BY hc1.label,
hc3.label
SELECT
qc.id,
pr.name AS producer,
qc.model,
qc.modification,
qc.other_info,
ROUND( MIN(prc.price), 2) AS price
FROM `quadrocopter` qc
INNER JOIN `producer` pr
ON pr.id = qc.producer
INNER JOIN `price` prc
ON prc.copter_id = qc.id
where
exists (select * from copter_answer c where c.copter_id = qc.id AND c.answer = 1)
&& exists (select * from copter_answer c where c.copter_id = qc.id AND c.answer = 2)
&& prc.price > 1000
&& prc.price < 1500
GROUP BY prc.copter_id
ORDER BY qc.id DESC