Si, funcionaria con esa estructura de tabla.
En php seria:
Código PHP:
$sql_main = " SELECT * FROM category1 ";
$result_main = mysql_query($sql_main);
while ( $row_main = mysql_fetch_array($result_main) ) {
echo $row_main['name']);
$sql_cat2 = " SELECT * FROM category2 WHERE prev_cat =$row_main[categoriaPrevia] ";
$res_cat2 = mysql_query($sql_cat2);
while ( $row_cat2 = mysql_fetch_array($res_cat2) ) {
echo $row_cat2['name'];
}
}
Creo que con eso ya tiene que empezar a funcionar.