Спустя 11 минут, 5 секунд (12.10.2009 - 15:18) glock18 написал(а):
смотрим
SELECT - его части и синтаксис, конкретно - WHERE
MIN - для выбора минимального значения
SELECT - его части и синтаксис, конкретно - WHERE
MIN - для выбора минимального значения
Спустя 3 минуты, 56 секунд (12.10.2009 - 15:22) Guest написал(а):
glock18
но как? с помощью мин я нахожу товар у которого есть цена больше заданой, а мне надо чтобы все цены этого товара были больше заданой.
но как? с помощью мин я нахожу товар у которого есть цена больше заданой, а мне надо чтобы все цены этого товара были больше заданой.
Спустя 2 минуты, 13 секунд (12.10.2009 - 15:24) glock18 написал(а):
для этого есть WHERE
Спустя 2 минуты, 9 секунд (12.10.2009 - 15:26) Guest написал(а):
glock18
Логично, но что именно надо написать, чтобы запрос нашёл то что мне нужно.
Логично, но что именно надо написать, чтобы запрос нашёл то что мне нужно.
Спустя 6 минут, 44 секунды (12.10.2009 - 15:33) glock18 написал(а):
чтобы я мог ответить на этот вопрос мне нужно знать что у вас за таблица.
для самостоятельного решения я вам уже предложил средства. осталось только почитать про них.
для самостоятельного решения я вам уже предложил средства. осталось только почитать про них.
Спустя 2 минуты, 52 секунды (12.10.2009 - 15:36) Guest написал(а):
О, вроде сделал.
SQL |
SELECT MIN(`tbl_rental`.`WeeklyRate`) AS `minimum` FROM `tbl_model`,`tbl_rental` WHERE `tbl_model`.`show` = 1 AND `tbl_rental`.`model` = `tbl_model`.`id` AND `tbl_rental`.`WeeklyRate` > 1000 AND `tbl_rental`.`WeeklyRate` IN(SELECT MIN(`tbl_rental`.`WeeklyRate`) AS `minimum` FROM `tbl_model`,`tbl_rental` WHERE `tbl_model`.`show` = 1 AND `tbl_rental`.`model` = `tbl_model`.`id` AND `tbl_rental`.`WeeklyRate` > 0 GROUP BY `tbl_model`.`id`) GROUP BY `tbl_model`.`id` |
Спустя 3 минуты, 10 секунд (12.10.2009 - 15:39) SunSet написал(а):
Это печально.. такие запросы бабахать - копать яму своему сайту...

Спустя 1 минута, 38 секунд (12.10.2009 - 15:41) Guest написал(а):
SunSet
А как по другому? Никак не могу придумать.
А как по другому? Никак не могу придумать.
Спустя 17 минут, 11 секунд (12.10.2009 - 15:58) glock18 написал(а):
Не сказать, что запрос будет долго работать. Но зачем вложенный запрос почти полностью дублирующий внешний? опиши подробно, что ты хочешь получить им. у меня явное ощущение, что вложенный запрос ни к чему.
Спустя 4 минуты, 42 секунды (12.10.2009 - 16:02) Guest написал(а):
glock18
Во вложеном запросе я нахожу минимальные цены по моделям, а потом нахожу модели у которых есть цены, которы равны больше чем 1000 и проверяю являются ли они минимальными.
Во вложеном запросе я нахожу минимальные цены по моделям, а потом нахожу модели у которых есть цены, которы равны больше чем 1000 и проверяю являются ли они минимальными.
Спустя 6 минут, 34 секунды (12.10.2009 - 16:09) SunSet написал(а):
Guest
Когда вот вижу такие метровые запросы то сам по себе возникает вопрос о правильности организации всей базы и отдельных таблиц, что все что нужно - так разбито на части.
Когда вот вижу такие метровые запросы то сам по себе возникает вопрос о правильности организации всей базы и отдельных таблиц, что все что нужно - так разбито на части.
Спустя 3 минуты, 40 секунд (12.10.2009 - 16:13) glock18 написал(а):
а убрать его? думаю, без него результат будет тот же, зато логика проще.
оставь в where только это:
оставь в where только это:
SQL |
`tbl_model`.`show` = 1 AND `tbl_rental`.`model` = `tbl_model`.`id` AND `tbl_rental`.`WeeklyRate` > 1000 |
Спустя 2 минуты (12.10.2009 - 16:15) glock18 написал(а):
SunSet
это очень простой запрос, и до метра не более чем 90см не дотягивает
а вот с логикой у запроса проблема. то, что должно делаться один простым запросом, делается с вложенным, который, на мой взгляд, никакой существенной роли не сыграет.
На самом деле, запросы получаются тем сложнее, чем более "нормально" структурирована база данных
это очень простой запрос, и до метра не более чем 90см не дотягивает

На самом деле, запросы получаются тем сложнее, чем более "нормально" структурирована база данных

Спустя 2 минуты, 24 секунды (12.10.2009 - 16:17) Guest написал(а):
glock18
В том то и проблемв, что результат будет другой. Кроме тех моделей, что нужны ещё найдёт те, у которых есть цены, хотя бы в одном месяце больше 1000, но при этом минимальная может быть и меньше 1000.
В том то и проблемв, что результат будет другой. Кроме тех моделей, что нужны ещё найдёт те, у которых есть цены, хотя бы в одном месяце больше 1000, но при этом минимальная может быть и меньше 1000.
Спустя 3 минуты, 19 секунд (12.10.2009 - 16:20) Guest написал(а):
SunSet
А как ещё можно разбить базу. Есть таблица моделей с соответственной информацией, и есть таблица цен по моделям в зависимости от месяца.
А как ещё можно разбить базу. Есть таблица моделей с соответственной информацией, и есть таблица цен по моделям в зависимости от месяца.
Спустя 36 секунд (12.10.2009 - 16:21) glock18 написал(а):
MIN(`tbl_rental`.`WeeklyRate`) > 1000
или
или
SQL |
SELECT MIN(`tbl_rental`.`WeeklyRate`) AS `minimum` FROM `tbl_model` JOIN `tbl_rental` ON `tbl_rental`.`model` = `tbl_model`.`id` WHERE `tbl_model`.`show` = 1 GROUP BY `tbl_model`.`id` HAVING `minimum` > 1000 |
Спустя 7 минут, 48 секунд (12.10.2009 - 16:29) Guest написал(а):
glock18
спасибо.
спасибо.