|
|
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Необходимо в запросе: автор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 получилось равно результату запроса: авторa.Price * ( SELECT `Rate` FROM `Message223` WHERE `Currency`=a.`Currency` ORDER BY MAX(`Message_ID`) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 14:08:19 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Он издевается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 14:21:01 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Akina, А что SQL не позволяет производить подобные операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 14:29:04 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Я имею в виду оформление вопроса. Посмотри другие темы. Как люди форматируют запросы. Какие теги используют. А в твоей лапше разбираться нет никакого желания. И искать, где ты там, что и каким цветом выделил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 14:51:26 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Есть запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. ,также есть выборка на php, которая встраивает в запрос условия. Пример условия в запросе: Код: sql 1. 2. но в поле: Код: sql 1. вводятся данные в разной валюте и чтоб это учитывать необходимо умножить поле на курс, а потом производить выборку с актуальными числами Пример умножения: Код: sql 1. 2. 3. 4. 5. 6. , но моих знаний не хватает чтоб правильно приравнять результат произведения, значения поля и подзапроса, полю a.Price Есть ли варианты ? P.S. Надеюсть теперь понятней оформил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 16:45:35 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
ShalfeyНадеюсть теперь понятней оформил.Да. Итак, в структуре Message2081 имеется поле Currency. Имеется также таблица Message223, хранящая пары значений Rate - Currency, причём поле Currency неуникально, а актуальная запись имеет максимальный Message_ID. Самым простым будет, вероятно, добавление в секцию FROM ещё одной таблицы - коррелированного подзапроса с как раз указанным текстом, и его использование для получения вычислимого поля. Т.е. что-то типа Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:03:49 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Кстати. 1) Зачем SQL_CALC_FOUND_ROWS ? 2) Почему везде LEFT JOIN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:04:59 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Спасибо я попробую. А запрос составляет движок NetCat, я только могу на него влиять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:08:31 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Т.е. вмешаться в текст и добавить условие можешь, а вмешаться и отрезать аппендикс - нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2013, 17:11:36 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Akina, да, если не ковырять движок, то так. я попробывал ваш вариант решения проблемы, но он не помог - запрос возвращает пустой результат. вероятно это происходит из-за условия выборки. выборка выглядит примерно так: Код: sql 1. 2. 3. 4. 5. 6. есть ли возможность умножать цену на курс валюты до того как вступит в силу условие на выборку, чтобы поле Код: sql 1. попадало в условие запроса уже умноженным на курс ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 13:56:29 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Т.е. тебе надо учесть тип валюты в секции WHERE? А ты эту секцию модифицировать можешь? Если нет - задача нерешаема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:10:28 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Akina, Могу добавлять туда свой код, но выборка добавляется не зависимо от меня ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:27:01 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Ты можешь туда добавить свой код, скажем, так - было: Код: sql 1. 2. 3. 4. 5. стало Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:39:14 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Пардон, стало Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:40:02 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Хотя зря я... вставка AND 0 таки нужна, а то будут попадать левые записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:41:05 |
|
||
|
Помогите модернизировать запрос (присвоить столбцу результат подзапроса)
|
|||
|---|---|---|---|
|
#18+
Akina, Я не смогу сгруппировать выборку и свой код Выглядеть будет примерно так: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2013, 15:54:01 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1835609]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 283ms |

| 0 / 0 |
