//Получить единственное значение $name = mysql_result(mysql_query("SELECT name FROM games WHERE id = '55' LIMIT 1"),0); //2001-03-10 17:16:18 (формат MySQL DATETIME) $today = date("Y-m-d H:i:s"); // ПРИВЕР ВЫБОРКИ $result = mysql_query ("SELECT * FROM `tool_autoru` WHERE flag = '1' AND id > '169'"); $export = array(); while($row = mysql_fetch_array($result)){ $ta = array(); $ta['name'] = $row['mark']; $ta['nameIndex'] = $row['markNameIndex']; $export[] = $ta; } echo json_encode($export);
# REPLACE UPDATE `a_parser_status` SET `seria` = REPLACE(`seria`, '/', ' - '); # Простой INSERT INSERT INTO oc_shoputils_personal_discounts_to_customer SET discount_id = '3', customer_id = '5' # Выбираем те alias, которые встречаются больше одного раза: (Запрос крайне тяжелый) SELECT id, alias FROM modx_site_content WHERE (alias) IN (SELECT alias FROM modx_site_content GROUP BY alias HAVING COUNT(*) > 1) ORDER BY alias —————————————————————————————————————————————————— # Выборка из нескольких таблиц: SELECT *, (SELECT a.auto_name FROM auto a WHERE a.auto_id = t.tour_autoid) AS auto_name, (SELECT c.client_name FROM client c WHERE c.client_id = t.tour_clientid) AS client_name FROM tour t WHERE t.tour_deleted = 0 WHERE tour_id = '".$data['id']."' LIMIT 1 —————————————————————————————————————————————————— # LEFT JOIN: SELECT * FROM ztemp LEFT JOIN client ON (client.client_id = ztemp.ztemp_clientid) LEFT JOIN tarif ON (tarif.tarif_id = ztemp.ztemp_tarifid) WHERE ztemp_deleted = 0 ORDER BY ztemp_id ASC —————————————————————————————————————————————————— # SELECT cc.*, t.tekst FROM cat_category cc LEFT JOIN texts t ON cc.descr_text_id = t.id WHERE cc.gr = '2' AND cc.id != '74' ORDER BY cc.id ASC # Пример REPLACE: UPDATE `a_parser_status` SET `seria` = REPLACE(`seria`, '/', ' - ') —————————————————————————————————————————————————— # Выборка по дате элементов, которые не содаржаться в некой таблице SELECT p.product_id, p.price, p.date_added FROM oc_product p WHERE p.product_id NOT IN (SELECT DISTINCT ps.product_id FROM oc_product_special ps) AND DATE(p.date_added) < DATE_SUB(NOW(), INTERVAL 3 MONTH) —————————————————————————————————————————————————— # SELECT * FROM cat_category WHERE id IN (SELECT DISTINCT category FROM catalog) —————————————————————————————————————————————————— # Описание запроса: выбираем всю информацию о товаре и о наличии в магазинах. # Магазинов несколько, и есть информация о том, сколько товара храниться в каком магазине. # (за это отвечает строчка (SELECT SUM(c1... # Мне было нужно получить в каждой строке сумму кол-ва именно этого товара # (уникальная связка — артикул+размер) вообще доступно во всех магазинах. # Также любопытной задачей было вывести значения из нескольких строк в одну строку с разделителем - GROUP_CONCAT... SELECT c.*, cc.name AS colorname, c1c.art AS c1c_art, c1c.size AS c1c_size, c1c.shop AS c1c_shop, c1c.q AS c1c_q, (SELECT SUM(c1c1.q) FROM catalog_1c_codes c1c1 WHERE c1c1.art = c1c.art AND c1c1.size = c1c.size group by c1c1.size) as total_of_size, GROUP_CONCAT(DISTINCT IF(ph.large_photo='', null, CONCAT(ph.path, ph.large_photo)) SEPARATOR '|||') as dop_images_large, # Для корректной работы GROUP_CONCAT нужно указать что-то вроде GROUP BY c.item_id GROUP_CONCAT(DISTINCT IF(ph.big_photo='', null, CONCAT(ph.path, ph.big_photo)) SEPARATOR '|||') as dop_images_big FROM catalog_1c_codes c1c LEFT JOIN catalog c ON c.art = c1c.art LEFT JOIN cat_category cc ON cc.id = c.colorid LEFT JOIN photos ph ON ph.item_id = c.id WHERE c.archive = '0' GROUP BY c.item_id ORDER BY c.id ASC ——————————————————————————————————————————————————
Комментарии (1)
Не писать ответ