Ciao, mi trovo ad avere un DB con queste 3 tabelle
TABLE DEV1
id
label
TABLE DEV2
id
label
TABLE MAIN_TABLE
id
dev1Id (foreign key id DEV1)
dev2Id (foreign key id DEV2)
Praticamente la tabella MAIN_TABLE è in join con DEV1 e DEV2 e ogni riga di MAIN_TABLE avrà dev1Id valorizzato e dev2Id NULL o viceversa.
I campi label di DEV1 e DEV2 hanno, fatto, lo stesso significato.
Avendo una query del tipo
SELECT id
FROM MAIN_TABLE
LEFT JOIN DEV1
LEFT JOIN DEV2
c'è un modo in cui possa ordinare contemporaneamente per i campi LABEL di DEV1 e DEV2?
Se i dati fossero
DEV1
1 pippo
2 pluto
DEV2
1 paperino
2 topolino
MAIN_TABLE
id dev1Id dev2Id
1 1 NULL
2 2 NULL
3 NULL 1
4 NULL 2
vorrei che l'order by asc su MAIN_TABLE mi desse
id dev1Id dev2Id
3 NULL 1
1 1 NULL
2 2 NULL
4 NULL 2
Personalmente avrei cercato di unificare DEV1 e DEV2 in un'unica tabella ma mi è stato passato il progetto così com'è e questo non lo posso modificare quindi devo tenermi le due tabelle separate.
Si può risolvere in qualche modo?
Nel caso si possa dovrò capire come farlo usando la classe Criteria di java (x Hibernate) ma un passo alla volta