was hat das eigentlich genau für einen grund select * zu vermeiden.
Generell ist nix dagegen zu sagen.
Aber stell Dir mal vor, Du join-st zwei Tabellen a und b, in denen jeweils eine Spalte "test" vorkommt:
select a.*, b.*
from a, b
where a.ref = b.ref;
Die resultierende Kreuztabelle hätte dann die Spalte "test" 'doppelt' (d.h. die DB sucht sich eine aus und ignoriert die andere :), und Du wunderst Dich, wieso Zugriff auf "test" nicth so geht, wie Du erwartest.