AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Select Between abfrage verfeinern
Thema durchsuchen
Ansicht
Themen-Optionen

Select Between abfrage verfeinern

Ein Thema von renekr · begonnen am 2. Feb 2006 · letzter Beitrag vom 2. Feb 2006
Antwort Antwort
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

Select Between abfrage verfeinern

  Alt 2. Feb 2006, 07:02
Datenbank: SQL • Version: 2005 STD • Zugriff über: ADO
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.
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Select Between abfrage verfeinern

  Alt 2. Feb 2006, 07:18
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:
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
Kann noch mit einer Tabelle der Namen o.ä. optimiert werden...
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Select Between abfrage verfeinern

  Alt 2. Feb 2006, 07:46
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
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Select Between abfrage verfeinern

  Alt 2. Feb 2006, 07:51
Hi

Zitat:
Ja aber dann aknn i immer nur Top x % machen
aber was ist wenn ich von Artikel 200-Artike l600 das Ergebniss will.
Je nachdem,
mit dem Teil der Abfrage
SQL-Code:
left join @temp t on l.id = t.id
where t.id is null
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...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz