webForumDet fria alternativet

Hämta top 10 från 2 tabeller

Databaser & SQL

10 svar · 275 visningar · startad av Wiberg

Medlem sedan juni 20003 169 inlägg
Frågan#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...

Medlem sedan juni 20003 169 inlägg
#2

inget napp? :(

Medlem sedan juni 2002711 inlägg
#3

kan man inte göra 2 sql kommandon bara?

Medlem sedan juni 20003 169 inlägg
#4

nej.

Medlem sedan juni 200032 967 inlägg
#5

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,

Medlem sedan juni 20003 169 inlägg
#6

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?

Medlem sedan juni 200032 967 inlägg
#7

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,

Medlem sedan juni 20003 169 inlägg
#8

ok. Tackar! :)

Medlem sedan nov. 20014 054 inlägg
#9

Hmm... är det inte så att Access inte stödjer UNION?? :q

Medlem sedan juni 20003 169 inlägg
#10

Tydligen inte, för det funkar... :)

Medlem sedan nov. 20014 054 inlägg
#11

Oki.... Undrade bara, en kille sa så åt mig.... nåja han ljög kanske!!! §e

269 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)