W Wiberg Medlem sedan juni 2000 3 169 inlägg Frågan 14 sep. 2002 10:01 #1 Jag har två tabeller som båda innehåller kolumnen tid (datum/tid) Nu vill jag hämta de 10 senast inlagda posterna (båda tabellerna inräknade) baserat på värdena i kolumnerna tid.
Nån som kan prestera en liten SQL-fråga? :q Använder Access...
J jwradhe Medlem sedan juni 2002 711 inlägg kan man inte göra 2 sql kommandon bara?
@nders Medlem sedan juni 2000 32 967 inlägg Hur ser tabellerna ut? Hur vill du ha resultatet?
Under förutsättning att tabellerna ser likadana ut i fälttyper osv kan vi göra en union.
Kanske kan se ut något sånt här (obs: jag är ringrostig! ;) )
SELECT TOP 10 * FROM (SELECT * FROM Tabell1 UNION SELECT * FROM Tabell2) ORDER BY tid DESC
Mvh,
W Wiberg Medlem sedan juni 2000 3 169 inlägg Jo, jag lyckades lösa det själv på ungefär ovanstående sätt. :)
Finns det något sätt att kolla vilken av tabellerna som en post hämtades från?
@nders Medlem sedan juni 2000 32 967 inlägg Du får lägga till ett kontrollfält per tabell, i SQL-frågan. Så här skulle det se ut i min fråga ovan:
SELECT TOP 10 * FROM (SELECT *, 'Tabell1' As TableOrigin FROM Tabell1 UNION SELECT *, 'Tabell2' As TableOrigin FROM Tabell2) ORDER BY tid DESC
Sedan kontrollerar du bara värdet i TableOrigin.
Mvh,
Hmm... är det inte så att Access inte stödjer UNION?? :q
W Wiberg Medlem sedan juni 2000 3 169 inlägg Tydligen inte, för det funkar... :)
Oki.... Undrade bara, en kille sa så åt mig.... nåja han ljög kanske!!! §e