|
|
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
1 ---- Есть таблица с товарами _items в которой каждый товар определяется полем item_id и еще все товары на самом деле разбиваются по группам за что отвечает поле topic_id Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 2 ---- Есть таблица _refs с так называемыми справочниками, то есть названим и значениями характеристик товара Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. где ref_id - это индекс справочника cls_id - это индекс родительского элеманта name - это имя справочника или значения справочника, если у него есть родитель Здесь у нас есть характеристика Бренд-производитель и у нее 6 значение, названий фирмы производителя 3 ---- есть таблица _items_ref, которая определяет связь товара и значения справочника Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Вопрос - нужно вывести всех производителей определенной группы товаров??? например товаров первой группы, у которых topic_id=1 Может я конечно все усложняю но по-моему без join здесь не обойтись... Огромное спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 16:29 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
Навскидку Код: plaintext 1. 2. 3. 4. 5. Запрос даст выборку по товарам в группе 1, но не даст товаров в группах ниже. Другими словами если у вас есть рекурсия с произвольной вложенностью - двумя байтами не обойтись :) Вам ведь нужны не все аттрибуты а только бренды, поэтому появилось условие _refs.cls_id=1 А в остальном - банальный запрос. Жизнь коротка - потерпи немного :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 17:27 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
Спасибочки огромное!!!!! Все вроде работает, только я поменял LEFT на INNER, потому что при LEFT выводятся пустые NULL строки.... Еще раз спасибо, буду грызть JOIN дальше....:) Кстати, а 'для чайников JOINа' не скажите в трех словах чем все-таки отличаются INNER и LEFT? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 17:36 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
авторКстати, а 'для чайников JOINа' не скажите в трех словах чем все-таки отличаются INNER и LEFT? Тем как раз, что INNER выдает только те товары, на которые занесены бренды, а LEFT в случае отсутствия кое-где у нас ещё порой бренда даст NULL. Если тебя устроит INNER - то можно проще: Код: plaintext 1. 2. 3. 4. 5. Жизнь коротка - потерпи немного :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 17:50 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
Еще раз СПАСИБО:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2004, 18:15 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
Маленький дополнительный вопрос:) А вот если у нас несколько товаров одной фирмы, то в самом результате запроса фирма производитель столько раз и повторяется сколько у нас товаров этой фирмы.... Как ИСКЛЮЧИТЬ повторяющиеся записи в результате запроса.... ThanX ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 11:49 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 12:24 |
|
||
|
связывание таблиц - помощь с запросом....
|
|||
|---|---|---|---|
|
#18+
спасибо:) ответ всегда плавает на поверхности.... и он намного проще чем думаешь:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2004, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32583750&tid=1855027]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 242ms |
| total: | 477ms |

| 0 / 0 |
