2012-05-21 2 views
0

У меня есть таблица с полями id,pid,name. Я хочу получить данные в следующем формате с помощью одного запроса.категория и подкатегория в одном запросе

id- parent category name- name 

Имя будет либо категории или подкатегории и родительская название категории не было бы ни одного, если его родитель еще будет родительским название категории ..

Его актуальной и важной для me.please помощи me..i будет признательна it.thanks

+0

это неограниченная многоуровневая архитектура, родитель может быть идентификатором родительского кота, если он является корнем, он будет 0 –

+0

взгляните на этот [ответ] (http://stackoverflow.com/questions/4452472/category -hierarchy-php-mysql) // Также см. ссылки, связанные со ссылками –

ответ

1

попробовать это:

select t.id, 
     tp.name as parent_category, 
     t.name as category 
from table t 
full join table tp on tp.id = t.pid 
+0

Не следует ли вам указывать конкретные идентификаторы 'tp.name' и' t.name', чтобы вы могли вернуть результат как ассоциативный массив? что-то вроде: 'tp.name как 'parent_name'' и' t.name как' child_name'' –

+0

Да 'as' используется для обозначения столбцов в предложении select. Он предназначен для таких случаев, когда вы возвращаете два столбца с тем же именем. Когда бы не было возможности использовать результат как ассоциативный массив, так как «имя» будет установлено дважды. –

+0

@BrookJulias, да было бы лучше, спасибо! – k102

0

Вы можете использовать следующий запрос:

SELECT c.name,pc.name FROM category c left join category pc on c.pid = pc.id; 
+0

Да, ее работы ..thanks – user1407837