![]() |
Datenbank: SQL • Version: 2005 STD • Zugriff über: ADO
Select Between abfrage verfeinern
Hi,
Kann mir jemand mal einen Tip geben? Ich habe eine Tabelle mit Spalte ID die Idenity ist. Ca 3100 Datensätze drin aber ID geht von 1 -6000 Jetz will ich folgendes Selecten. Ich habe 21 namen dazu und will das jeder name eine gleiche Anzahl von Artikeln bekommt ( für inventur ) Wie kann ich das machen? Wenn ich Between mache das geht nicht,weil ich ja keine fortlaufende nummern habe. Danke. |
Re: Select Between abfrage verfeinern
Hi,
man könnte eine Zwischentabelle erstellen für die Referenz ID zu Name. Dann (zumindest mit MSSQL) gibt es das Konstrukt "select top x percent"
SQL-Code:
Kann noch mit einer Tabelle der Namen o.ä. optimiert werden...
declare @temp table ( id int, name varchar(100) )
-- erster Name insert into @temp ( id, name ) select top 5 percent l.id, 'name1' from lager l left join @temp t on l.id = t.id where t.id is null -- order by ? -- zweiter Name insert into @temp ( id, name ) select top 5 percent l.id, 'name2' from lager l left join @temp t on l.id = t.id where t.id is null -- order by ? -- ergebnis select * from @temp |
Re: Select Between abfrage verfeinern
Hi,
Ja aber dann aknn i immer nur Top x % machen aber was ist wenn ich von Artikel 200-Artike l600 das Ergebniss will. Danke |
Re: Select Between abfrage verfeinern
Hi
Zitat:
mit dem Teil der Abfrage
SQL-Code:
werden ja immer nur diejenigen Datensätze (neu) ausgewählt, die bisher noch nicht in der Temp-Tabelle zugeordnet wurden. Also mit jedem neuen "Namen" werden andere "Top x" ausgewählt...
left join @temp t on l.id = t.id
where t.id is null |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz