|
Артем
Зарегистрирован: 2013-05-20
Сообщений: 23
|
Предыдущий вариант решил оставить на крайний случай.
Кто-нибудь знает как модернизировать sql-запрос:
Цитата:SELECT SQL_CALC_FOUND_ROWS a.`Message_ID`, a.`User_ID`, a.`IP`, a.`UserAgent`, a.`LastUser_ID`, a.`LastIP`, a.`LastUserAgent`, a.`Priority`, a.`Parent_Message_ID`, a.`ncTitle`, a.`ncKeywords`, a.`ncDescription`, sub.`Subdivision_ID`, CONCAT( '', sub.`Hidden_URL`) as Hidden_URL, cc.`Sub_Class_ID`, cc.`EnglishName`, a.`Checked`, a.`Created`, a.`Keyword`, a.`LastUpdated` + 0 AS LastUpdated, a.Name, a.Vendor, a.ItemID, a.Price, tbl2571.ShopCurrency_Name AS Currency, tbl2571.ShopCurrency_ID AS Currency_id, tbl2571.`Value` AS Currency_value , a.PriceMinimum, tbl2573.ShopCurrency_Name AS CurrencyMinimum, tbl2573.ShopCurrency_ID AS CurrencyMinimum_id, tbl2573.`Value` AS CurrencyMinimum_value , a.Image, tbl2575.ShopUnits_Name AS Units, tbl2575.ShopUnits_ID AS Units_id, tbl2575.`Value` AS Units_value , a.StockUnits, a.ImportSourceID, a.TopSellingMultiplier, a.TopSellingAddition, a.VAT, a.AmountOfTraffic, a.FullName, a.TimeWork, a.CountLicenses, a.OperatingSystem, a.Capacity, a.Language, a.TypeLicenses, a.TypeOrganization, a.ID_1C, a.DeliveryType, a.Articul, a.DescriptionProd, a.DecipheringLicense, a.Model, a.VendorCartridges, a.ProductAvailability, a.TypeCartridges, a.ForPrinters, a.Refillable, a.Compatibility, a.USD_Price, a.Price AS Price, a.Currency AS Currency FROM (`Message2081` AS a ) LEFT JOIN `Subdivision` AS sub ON sub.`Subdivision_ID` = a.`Subdivision_ID` LEFT JOIN `Sub_Class` AS cc ON cc.`Sub_Class_ID` = a.`Sub_Class_ID` LEFT JOIN `Classificator_ShopCurrency` AS tbl2571 ON a.`Currency` = tbl2571.ShopCurrency_ID LEFT JOIN `Classificator_ShopCurrency` AS tbl2573 ON a.`CurrencyMinimum` = tbl2573.ShopCurrency_ID LEFT JOIN `Classificator_ShopUnits` AS tbl2575 ON a.`Units` = tbl2575.ShopUnits_ID WHERE 1 AND a.`Parent_Message_ID` = '0' AND sub.`Catalogue_ID` = '1' AND a.`Subdivision_ID` = '371' AND a.`Sub_Class_ID` = '571' AND a.`Checked` = 1 AND( (a.Price>=1000 AND a.Price<=2000)) ORDER BY Message_ID LIMIT 0, 15
Это запрос который выводит товары, а цветом выделена выборка по цене, которую я хотел бы заменить на:
Цитата:( (a.Price * ( SELECT `Rate` FROM `Message223` WHERE `Currency`=a.`Currency` ORDER BY MAX(`Message_ID`) )>=1000 AND a.Price * ( SELECT `Rate` FROM `Message223` WHERE `Currency`=a.`Currency` ORDER BY MAX(`Message_ID`) )<=2000))
,используя системные переменные запросов: $query_where или др.;
или же альтернативно изменить запрос, но с тем же результатом, т.е. Price прежде чем сравниваться досжна умножиться на курс валюты.
|