|
|
|
Возможно ли такое ?
|
|||
|---|---|---|---|
|
#18+
Есть таблица "группа товара" например, есть признак ParentID - т.е. ID родителя, и есть таблица с товарами где есть GroupID.. Надо вывести только те что ParentID='', т.е. корень групп.. но надо сначала вывести те группы которые не пустые, затем те что пустые.. но с учетом того что может быть группа в группе, но группа второго уровня пустая, а третьего - с товарами.. Много вариантов перебрал, есть у кого то мысли? можно ли как то SELECT внутри SELECT'а сделать? типа (SELECT a.*, art IN (SELECT `art` FROM `product` WHERE ???) FROM `groups` AS a WHERE a.`ParentID`='') UNION (SELECT * FROM `groups` WHERE `ParentID`<>''); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 15:36 |
|
||
|
Возможно ли такое ?
|
|||
|---|---|---|---|
|
#18+
То есть имеется таблица, где хранится дерево групп, и таблица товаров, причём товар относится к какой-то группе. V2oD2oнадо сначала вывести те группы которые не пустые, затем те что пустые.. То есть сначала те корневые группы, в которых (непосредственно или в подгруппе) есть хотя бы один товар, а потом остальные, верно? В таком случае тебе нужно читать FAQ: Древовидные структуры средствами MySQL или роман Стендаля "Красное и Черное" . Решение следующее - в подзапросе ты получаешь для каждой корневой группы список всех его подгрупп (любого уровня), а затем выполняешь сортировку по наличию товара с группой из указанного списка (можно - по количеству таких товаров). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 16:47 |
|
||
|
Возможно ли такое ?
|
|||
|---|---|---|---|
|
#18+
Ну то есть в подзапросе ты фактически получаешь соответствие GroupID-RootGroopID для всех записей таблицы групп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2016, 16:48 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39270013&tid=1831595]: |
0ms |
get settings: |
7ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 359ms |

| 0 / 0 |
