2009-08-19 4 views
0

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

Описание:

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

пример:

SQL:

идентификатор | имя | стоимость | родственный

1 | n1 | bla1 |

2 | n2 | bla2 | n3

3 | n3 | bla3 | n1

HTML:

n1 bla1

n3 blÀ3

n2 bla2

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

ответ

1

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

SELECT * FROM your_table ORDER BY parent; 

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

0
Select id,name,value,parent from MyTable order by parent asc 

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

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

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

Смежные вопросы