|
|
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Приветствую! Подскажите пожалуйста.. есть две таблицы: допустим товары и рубрики. Товары могут находиться в нескольких рубриках. И есть определнный флаг товара (но он может быть разным, в зависимости от рубрики) Итого три таблицы: 1. table items: (товары) id title 2. table groups: (рубрики) id title 3. table item_groups: (связь товар-рубрика) item_id group_id flag Есть необходимость выбрать товары (без учета рубрики) с сортировкой по полю flag: SELECT a.id, a.title, b.flag FROM items AS a LEFT JOIN groups AS b ON a.id = b.item.id ORDER BY b.flag, a.title; Список получается, сортируется нормально, но если товар входит в несколько рубрик, то записи в выборке повторяются (чего и следовало ожидать, т.к. в таблице item_groups значения item_id повторяются). DISTINCT на id не помогает (в этом повторяются только те записи, которые входят в несколько рубрик и у которых при этом разный flag). как избавиться от повторений? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:05 |
|
||
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
см. пост Помогите организовать сортировку Вообще в данной ситуации можно обойтись одной таблицей: id | title | id_parent где id_parent будет указывать на родителя (группу) данного товара. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:19 |
|
||
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
см. пост Помогите организовать сортировку Вообще в данной ситуации можно обойтись одной таблицей: id | title | id_parent где id_parent будет указывать на родителя (группу) данного товара. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:20 |
|
||
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
из условия задачи: товар может состоять в нескольких группах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:30 |
|
||
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
А никак, если сделать группировку по товарам, то тогда какой критерий отбора поля flag? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:36 |
|
||
|
запрос из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Вот, например, если брать максимальное значение флага: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2005, 12:43 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=663&tid=1854236]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 343ms |

| 0 / 0 |
