Wellicht niet de meest duidelijke titel, maar ik kan even niet verzinnen hoe ik het anders moet noemen.
Ik heb een database waarbij een bepaald gegeven (kolom) over verschillende tabellen is verspreid. (Ik weet het, dat is verre van een correct ontwerp, maar het is legacy spul). Deze wil ik samenvoegen in een enkele resultset.
Ik deed dat met een UNION, omdat de results van de individuele queries kunnen overlappen en ik alleen in unieke waardes geïnteresseerd ben.
Dat gaat goed, maar het probleem is dat ik nu volgorde hieraan wil aanbrengen, de records van table1 moeten eerder in de resultset komen dan de records uit table2.
Ik dacht dat als volgt op te lossen:
Echter, nu is de output niet meer uniek. (Logisch, want output van de losse queries is nu niet meer hetzelfde.).
Wat ik ook probeer, ik krijg het maar niet voor elkaar om gesorteerd unieke resultsets te krijgen. Waarschijnlijk is de oplossing simpel, maar ik kom er niet uit
joins zijn niet echt een opties ivm verschillende layout en selectie criteria van de tabellen en de bovenstaande query wrappen in een extra select distinct kan ook niet omdat de volgorde dan niet meer gegarandeerd is.
Iemand suggesties?
Ik heb een database waarbij een bepaald gegeven (kolom) over verschillende tabellen is verspreid. (Ik weet het, dat is verre van een correct ontwerp, maar het is legacy spul). Deze wil ik samenvoegen in een enkele resultset.
Ik deed dat met een UNION, omdat de results van de individuele queries kunnen overlappen en ik alleen in unieke waardes geïnteresseerd ben.
code:
1
2
3
| SELECT property FROM table1 UNION SELECT property FROM table2 |
Dat gaat goed, maar het probleem is dat ik nu volgorde hieraan wil aanbrengen, de records van table1 moeten eerder in de resultset komen dan de records uit table2.
Ik dacht dat als volgt op te lossen:
code:
1
2
3
4
5
6
| SELECT property FROM ( SELECT property, 1 AS order FROM table 1 UNION SELECT property, 2 AS order FROM table 1 ) AS rs ORDER BY rs.oder |
Echter, nu is de output niet meer uniek. (Logisch, want output van de losse queries is nu niet meer hetzelfde.).
Wat ik ook probeer, ik krijg het maar niet voor elkaar om gesorteerd unieke resultsets te krijgen. Waarschijnlijk is de oplossing simpel, maar ik kom er niet uit

Iemand suggesties?