Показать данные, отсортированные по родительским объектам - PullRequest
0 голосов
/ 20 августа 2009

У меня проблема, и я не знаю, что искать, чтобы найти решение.

Описание:

У меня есть таблица mysql со следующими столбцами "id", "name", "value", "parent" с "id" в качестве первичного ключа. «id» - это номер автоинкремента, «name» - это название категории, «value» - это значение категории, а «parent» - это родительское имя (категория) для этой строки. Как я могу показать эту таблицу в правильном порядке, средства отсортированы по их родительскому имени.

пример:

SQL:

id | имя | значение | Родитель

1 | n1 | Bla1 |

2 | n2 | бла2 | n3

3 | n3 | бла3 | n1

HTML:

n1 bla1

n3 bla3

n2 bla2

Пожалуйста, помогите мне с некоторыми кодами или полезной ссылкой ... любая помощь оценена Заранее спасибо за помощь.

Ответы [ 3 ]

1 голос
/ 20 августа 2009

Вы можете отсортировать любую таблицу, используя предложение ORDER BY в SQL. Таблицы не имеют «правильного» порядка; они упорядочены исключительно по этому условию, которое вы должны включить в любой запрос, который, как вы ожидаете, даст результаты, отсортированные определенным образом. В этом случае вы бы написали:

SELECT * FROM your_table ORDER BY parent;

Теперь вы можете получить более надежные результаты, установив parent на id родителя, а не имя, чтобы при изменении имени вы не сломали родитель / потомок отношения. Затем вы можете использовать JOIN, чтобы выяснить имя родителя.

0 голосов
/ 20 августа 2009
Select id,name,value,parent from MyTable order by parent asc

Сортирует в порядке возрастания

Select id,name,value,parent from MyTable order by parent desc

Сортирует в порядке убывания

0 голосов
/ 20 августа 2009
SELECT * FROM tableName ORDER BY parent, name;
...