
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.01.2015, 17:48:14
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
Доброго времени суток. Помогите решить спор. Проект создаем на laravel4, но собственно суть ни в этом. Есть некая база со следующими таблицами: (таблица categories) id | name 1 | Жесткие диски 2 | Аккумуляторы (таблица protucts) id | category_id | name | price 1 | 1 | WD | 100 2 | 1 | Sams | 200 3 | 2 | Super| 20 (таблица attributes) id | category_id | name 1 | 1 | Объём 2 | 1 | Тип 3 | 1 | Скорость 4 | 2 | Ёмкость 5 | 2 | Тип (таблица protuct_attributes) id | protuct_id | attribute_id | value 1 | 1 | 1 | 1Tb 2 | 1 | 2 | sata II 3 | 1 | 3 | 7 200 4 | 2 | 1 | 2Tb 5 | 2 | 2 | sata III 6 | 2 | 3 | 10 000 7 | 3 | 4 | 2800 8 | 4 | 5 | AA Т.е. есть таблица с товарами protucts и в ней есть атрибут price , собственно по нему можно отсортировать некий товар по диапазону цен. А вот стальные атрибуты хранятся в таблице protuct_attributes . Задача стоит отсортировать в одном запросе товар не только по диапазону цен, но и по остальным атрибутам - скажем по "Объём" если это жесткий диск. Мне сказали, что MySQL в принципе на подобное не способен. Так ли это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 19:21:56
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
HunterNomad, отсортировать или отфильтровать? словесное описание задачи сильно хромает. лучше бы привел тестовый набор данных, входные параметры поиска товара и желаемый результат на всём этом... но в целом, не думаю, что задача настолько уж нерешаемая в рамках MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 20:02:03
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
Добрый Э - ЭхHunterNomad, отсортировать или отфильтровать? словесное описание задачи сильно хромает. лучше бы привел тестовый набор данных, входные параметры поиска товара и желаемый результат на всём этом... но в целом, не думаю, что задача настолько уж нерешаемая в рамках MySQL. Согласен)) С терминами обшибся)) Нужно именно отфильтровать товары не только по цене, но и по атрибутам из другой таблицы protuct_attributes . Не подскажите в какую сторону копать? Может смогу доказать друзьям обратное)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 20:09:28
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
HunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 21:04:08
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
Добрый Э - ЭхHunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. Пробовал, не помогло. Конечно, возможно запрос не правильно организован. На выходе нужно получить товары отфильтрованные не только по цене (таблица protucts) но и по остальным атрибутам относящимся к этому товару (таблица protuct_attributes). О как))))) Все равно спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 21:42:32
|
|||
|---|---|---|---|
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
HunterNomadМне сказали, что MySQL в принципе на подобное не способен. Способен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 21:44:23
|
|||
|---|---|---|---|
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
Добрый Э - ЭхHunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. Только не LEFT | RIGHT, а просто JOIN. ведь речь о фильтрации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.01.2015, 21:50:26
|
|||
|---|---|---|---|
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
(таблица categories) id | name (таблица protucts) id | category_id | name | price (таблица attributes) id | category_id | name (таблица protuct_attributes) id | protuct_id | attribute_id | value Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2015, 11:12:39
|
|||
|---|---|---|---|
|
|||
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
MasterZiv(таблица categories) id | name (таблица protucts) id | category_id | name | price (таблица attributes) id | category_id | name (таблица protuct_attributes) id | protuct_id | attribute_id | value Код: sql 1. 2. 3. 4. 5. 6. 7. Спасибо)) Есть доказательная база))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
02.02.2015, 11:52:50
|
|||
|---|---|---|---|
Может или не может MySQL делать сложную выборку из нескольких таблиц? |
|||
|
#18+
HunterNomadМне сказали, что MySQL в принципе на подобное не способен.Всё, что можно сделать на основании логики предметной области и имеющихся данных, можно сделать запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833619]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
115ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 378ms |

| 0 / 0 |
