Witam
Temat wiem że "nie brzmi" - niestety nie wiem jak sprecyzować to co chce uzyskać.
Jest sobie tabela "material":
| idM | idNM |
| 1 | 0 |
| 3 | 0 |
| 4 | 3 |
| 5 | 4 |
| 6 | 1 |
idM - indeks materiału/kategorii
idNM - indeks kategorii
Chciał bym jednym wywołaniem zapytania uzyskać wszystkie "wyższe" kategorie podając id materiału/kategorii
Na tą chwile rozwiązałem to tak :
select m.idNM,
(select m2.idNM from material m2 where m2.idM=m.idNM) as idnm2,
(select m3.idNM from material m3 where m3.idM=idnm2) as idnm3,
(select m4.idNM from material m4 where m4.idM=idnm3) as idnm4
from material m where idM=5
oddaje to z przykładu : 4,3,0,null
Efekt jest prawie zadowalający.
- jeśli idM było dość "płytko" w kategoriach to zapytanie oddaje mi niepotrzebne null'e
- mam wrażenie że można to zrobić ładniej, tylko nie wiem jak :/
Potrzebuje by zapytanie oddało mi id-ki kategorii od tyłu do 0 w jednym wierszu