Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
Delphi 2007 Enterprise
|
SQL Select in oder Union Abfrage Optimierung mit Top
22. Aug 2008, 14:52
Datenbank: SQL Server2005 • Version: 2005 • Zugriff über: ADO
Hallo,
Ich stehe gerade for einer Auswertung und möchte folgendes machen:
Eine Abfrage von einer History Table mit dem SQL Befehl Select in oder union.
Allerdings möchte ich für jeden der in der Select in drin steht nur max 20 Ergebnisse von der History bekommen.
Wie ist das sonst noch möglcih ohne die Union ,weil die verdammt viel Performance schluckt.Teilweise gibt es bis über 300 Feeder.
SQL-Code:
SELECT TOP (20) Feeder_ID, PU_NR, Sachnummer, Becker_SNR, Marry_Time, Computername, Linie
FROM dbo.VW_History_Listen
WHERE (Feeder_ID = 'KA0000383')
UNION
SELECT TOP (20) Feeder_ID, PU_NR, Sachnummer, Becker_SNR, Marry_Time, Computername, Linie
FROM dbo.VW_History_Listen AS VW_History_Listen_42
WHERE (Feeder_ID = 'KA0000385')
UNION
SELECT TOP (20) Feeder_ID, PU_NR, Sachnummer, Becker_SNR, Marry_Time, Computername, Linie
FROM dbo.VW_History_Listen AS VW_History_Listen_41
WHERE (Feeder_ID = 'KA0000387')
SQL-Code:
select * from Feedermgmt.dbo.VW_History_Listen where Feeder_ID in ( 'KA0000006','KA0000008','KA0000013','KA0000014','KA0000019','KA0000022','KA0000027','KA0000037','KA0000040'
,'KA0000124','KA0000130','KA0000138','KA0000180','KA0000201','KA0000231','KA0000245','KA0000304','KA0000333','KA0000342',
'KA0000582','KA0000595','KA0000602','KA0000625','KA0000645','KA0000749','KA0000801','KA0000809','KA0000832','KA0000910',
'KA0000989','KA0001175','KA0001213','KA0001214','KA0001229','KA0001248','KA0001268','KA0001287','KA0001289','KA0001290',
'KA0001343','KA0001389','KA0001434','KA0001435','KA0001441','KA0001445','KA0001447','KA0001455','KA0001456','KA0001458',
'KA0001466','KA0001470','KA0001471','KA0001472','KA0001474','KA0001477','KA0001494','KA0001501','KA0001502','KA0001516',
'KA0001517','KA0001518','KA0001520','KA0001523','KA0001525','KA0001536','KA0001537','KA0001538','KA0001539','KA0001540',
'KA0001541','KA0001549','KA0001550','KA0001553','KA0001554','KA0001555','KA0001556','KA0001913','KA0001917','KA0001919',
'KA0001920','KA0001926','KA0001927','KA0001929','KA0001930','KA0001935','KA0001938','KA0001940','KA0001942','KA0001943',
'KA0001944','KA0001945','KA0001952','KA0001955','KA0001956','KA0001957','KA0001960','KA0001961','KA0001973','KA0001978',
'KA0001981','KA0001997','KA0002008','KA0002009','KA0002011','KA0002012','KA0002017','KA0002018','KA0002019','KA0002020',
'KA0002021','KA0002022','KA0002023','KA0002025','KA0002029','KA0002030','KA0002031','KA0002034','KA0002037','KA0002038',
'KA0002041','KA0002042','KA0002045','KA0002046','KA0002050','KA0002098','KA0002099','KA0002109','KA0002944','KA0002945',
'KA0002951','KA0003011','KA0003051','KA0003052','KA0003201','KA0003229','KA0003246','KA0003248','KA0003249','KA0003257',
'KA0003263','KA0005583','KA0005585','KA0005587','KA0005588','KA0005590','KA0005614','KA0005645','KA0005646','KA0006261',
'KA0006266','KA0006272','KA0006276','KA0006277','KA0006279','KA0006295','KA0006297','KA0006299','KA0006315','KA0006320',
'KA0006324','KA0006468','KA0006473','KA0006474') order by Feeder_ID,Marry_Time desc
Vielen dank.
|