имеется табличка
id | level | group
где
level [0,1] может быть
group - равно своему id или родительскому
при этом если group равно родительскому то level=1
если своему то level=0
пример
1|0|1 -корневой
2|1|1 -подконекчен к 1
3|0|3 - корневой
4|1|1 - к первому
5|1|3 - к третьему
теперь нужен запрос
выбирающей все с level=0
и по одному с level=1 для каждой группы
то есть на выходе должно быть
1|0|1
2|1|1
3|0|3
5|1|3
строка (4|1|1) не нужна так как она для группы 1 будет второй с level=1
можно ли это все сделать одним достаточно быстрым запросом?
1. DlTA - 10 Апреля, 2013 - 16:59:13 - перейти к сообщению
2. LIME - 10 Апреля, 2013 - 18:55:16 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT * FROM tbl WHERE lvl=0
- UNION
- SELECT * FROM tbl WHERE lvl=1 GROUP BY `group`
?