Как мне известно, удержания сотрудника это ихняя обязанность
product_id, feature_id, value
(где featured_id — id свойства из таблички выше)SELECT p.id, p.url, p.name
FROM e_products p
WHERE 1
AND p.id in (SELECT product_id FROM e_options WHERE feature_id=8 AND value in('Бежевый','Белый') )
AND p.id in (SELECT product_id FROM e_options WHERE feature_id=1 AND value in('Лето 2011') )
время выполнения запроса — 0.019 s для 10 тыс товаров, 100тыс значений свойств и десятка свойствfeature_id
хранить сразу название параметра, но лучше сразу разделите... чтобы можно было параметру поставить напрмиер поле включать или нет его в фильтр и задать порядок, или нужно будет выводить поля в саму форму фильтра (гонять большую таблицу — так себе решение) SELECT hosting.user_id, client.name, client.email, client.phonenumber, product.packagename
FROM tblhosting hosting
LEFT JOIN tblclients client ON client.id=hosting.user_id
LEFT JOIN tblproducts product ON product.id= hosting.packageid
WHERE hosting.domainstatus = 'Terminated'
AND hosting.packageid IN ('1' , '2' , '3')
А насчет логики работы JOIN мне пока не понятно, все запросы, которые я пытался сделать - вообще не работали.Пишите сначала один селект, потом присоединяете таблицу, потом в выборку добавляете данные с новой таблице и так по чуть-чуть усложняете запрос....
+-----------------------------+
| id | name |
+-----------------------------+
| 1 | Россия |
+-----------------------------+
| 2 | Московская область |
+-----------------------------+
| 3 | Москва |
+-----------------------------+
+-----------------------------------+
| region_id | path_id | level |
+-----------------------------------+
| 2 | 1 | 1 | <-- Тут мы храним связь Мособласти, указываем связь с Россией
+-----------------------------------+
| 3 | 2 | 1 | <-- Тут мы храним связь Москвы указывая на Мособласть
+-----------------------------------+
| 3 | 1 | 2 | <-- Тут мы храним связь Москвы с Россией
+-----------------------------------+
SELECT r.id, r.name
FROM s_regions r
LEFT JOIN s_regions_path l ON l.region_id=r.id
WHERE l.path_id=1
SELECT r.id, r.name
FROM s_regions r
LEFT JOIN s_regions_path l ON l.region_id=r.id
WHERE l.path_id=2
AND l.level=1
SELECT r.id, r.name
FROM s_regions r
LEFT JOIN s_regions_path l ON l.region_id=r.id
WHERE l.region_id =3
ORDER BY l.level DESC
// Выводим все ХВС
foreach($array as $obj)
{
if(strpos($obj->Meter->ServiceName, 'ХВС') !== false){
echo($obj->Meter->ServiceName . PHP_EOL);
}
}
// Выводим все ГВС
foreach($array as $obj)
{
if(strpos($obj->Meter->ServiceName, 'ГВС') !== false){
echo($obj->Meter->ServiceName . PHP_EOL);
}
}
но "ХВС" и "Г" может быть рандомным
// Получаем наши ГВС (или что-то рандомное из нашего массива)
function getValues($array, $value)
{
$values = [];
foreach($array as $obj)
{
if(strpos($obj->Meter->ServiceName, $value) !== false){
$values[] = $obj->Meter->ServiceName;
}
}
return $values;
}
// Получаем наши ГВС, где $metrics наш массив в вопросе
print_r(getValues($metrics, 'ГВС'));
print_r(getValues($metrics, '12ХВС'));
print_r(getValues($metrics, 'Что-то'));
Работа в самой большой онлайн-школе английского в Восточной Европе
Мы предлагаем вам расти вместе со школой. Sky|eng растет в 3 раза каждый год, сотрудники растут быстрее. Возможности для развития и роста безграничны
основная часть обращений идет от junior'ов
MacOS, Windows, Android(самые важные для меня платформы)
у main.js такой код
import {one, two} from "./nums";
SELECT t.id, t.name
FROM test t
WHERE t.parent_id=2
ORDER BY t.parent_id
instacart.com
defaultRoute' => 'default/index',