... Здесь основная часть заголовка...
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=abcdef
Content-Transfer-Encoding: 7bit
This is a message in multipart MIME format.
--abcdef
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Привет!
--abcdef
Content-Type: application/xlsx; name=hello.xlsx
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=hello.xlsx
/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJ
...
/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJ
--abcdef--
UPDATE `emails` SET `status` = 1 WHERE @id := `id` AND `status` = 0 ORDER BY RAND() LIMIT 1;
SELECT * FROM `emails` WHERE `id` = @id;
SELECT `prod`.`name`, `prod`.`price`,
GROUP_CONCAT(CONCAT(`atr`.`nameAttribute`, '=' , `val`.`attributeValue`) as `attribute`,
FROM `products` as `prod`
LEFT JOIN `productAttribute` as `atr` ON `prod`.`idProduct` = `atr`.`idProduct`
LEFT JOIN `attributeValue` as `val` ON `atr`.`idAttribute` = `val`.`idAttribute`
WHERE `prod`.`idCategory` = :idCategory
GROUP BY `prod`.`idProduct`;
exten => _000XXX,1,SIPAddHeader(Call-Info:\;answer-after=0)
same => n,Page(SIP/${EXTEN:3},is)
SELECT `u1`.`name`, `u2`.`name`, COUNT(*) AS `count`
FROM `users_groups` AS `ug1`
JOIN `users_groups` AS `ug2`
ON `ug2`.`group_id` = `ug1`.`group_id`
AND `ug2`.`user_id` > `ug1`.`user_id`
JOIN `users` AS `u1`
ON `u1`.`id` = `ug1`.`user_id`
JOIN `users` AS `u2`
ON `u2`.`id` = `ug2`.`user_id`
GROUP BY `ug1`.`user_id`, `ug2`.`user_id`
ORDER BY `count` DESC
LIMIT 1
FROM products prod
INNER JOIN categories cat ON prod.idCategory = cat.idCategory
Это тоже понятно, присоединяется к товару название категории.INNER JOIN productAttribute atr ON cat.idCategory = atr.idCategory
И здесь ясно, присоединяем список атрибутов для этой категории.INNER JOIN attributeValue val ON cat.idCategory = val.idCategory
А вот здесь непонятно, зачем для товара брать все значения атрибутов его категории? Нужно присоединять только значение уже присоединённого атрибута для данного товара. idCategory в таблице attributeValue вообще быть не должно. $(this).val($(this).val().substr(0, maxLength));