|
|
|
Может или не может 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, 17:48:14 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
HunterNomad, отсортировать или отфильтровать? словесное описание задачи сильно хромает. лучше бы привел тестовый набор данных, входные параметры поиска товара и желаемый результат на всём этом... но в целом, не думаю, что задача настолько уж нерешаемая в рамках MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 19:21:56 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхHunterNomad, отсортировать или отфильтровать? словесное описание задачи сильно хромает. лучше бы привел тестовый набор данных, входные параметры поиска товара и желаемый результат на всём этом... но в целом, не думаю, что задача настолько уж нерешаемая в рамках MySQL. Согласен)) С терминами обшибся)) Нужно именно отфильтровать товары не только по цене, но и по атрибутам из другой таблицы protuct_attributes . Не подскажите в какую сторону копать? Может смогу доказать друзьям обратное)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 20:02:03 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
HunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 20:09:28 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхHunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. Пробовал, не помогло. Конечно, возможно запрос не правильно организован. На выходе нужно получить товары отфильтрованные не только по цене (таблица protucts) но и по остальным атрибутам относящимся к этому товару (таблица protuct_attributes). О как))))) Все равно спасибо)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 21:04:08 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
HunterNomadМне сказали, что MySQL в принципе на подобное не способен. Способен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 21:42:32 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхHunterNomad, копать в сторону [LEFT | RIGHT] JOIN + WHERE. Только не LEFT | RIGHT, а просто JOIN. ведь речь о фильтрации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 21:44:23 |
|
||
|
Может или не может 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2015, 21:50:26 |
|
||
|
Может или не может 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:12:39 |
|
||
|
Может или не может MySQL делать сложную выборку из нескольких таблиц?
|
|||
|---|---|---|---|
|
#18+
HunterNomadМне сказали, что MySQL в принципе на подобное не способен.Всё, что можно сделать на основании логики предметной области и имеющихся данных, можно сделать запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2015, 11:52:50 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1833619]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
73ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 337ms |

| 0 / 0 |
