AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Abfrage ohne Indexsortierung
Thema durchsuchen
Ansicht
Themen-Optionen

Abfrage ohne Indexsortierung

Ein Thema von Ydobon · begonnen am 28. Sep 2007 · letzter Beitrag vom 28. Sep 2007
Antwort Antwort
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#1

Abfrage ohne Indexsortierung

  Alt 28. Sep 2007, 14:45
Datenbank: MS Jet • Version: 4.0 • Zugriff über: ADO
Hallo!

Ich bräuchte zur Anzeige in einem DBGrid einer Datenbank mit einem einfachen Integerindex eine Abfrage für Datensätze mit bestimmten Indizes in einer anders vorgegeben Reihenfolge, als es den Indizes entspricht.
Zum Beispiel aus einer Datenbank mit 10 Datensätzen, Index von 1 bis 10 die Datensätze mit den Indizes 7, 3, 5 - in genau dieser Reihenfolge. Nehme ich eine Abfrage mit entsprechenden ORs, gibt es allerdings 3, 5, 7.
Die Indizes und ihre Anzahl ändern sich dabei bei jeder Abfrage.

Lässt sich das mit SQL allein machen oder muss ich erst mit Delphi versuchen etwas dafür basteln?
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Abfrage ohne Indexsortierung

  Alt 28. Sep 2007, 14:54
Du brauchst irgendein Feld (z.B. ein Datumsfeld) nach dem du Sortieren kannst.
(mit der SQL-Klausel ORDER BY)
Von der Idee, dass die Datensätze eine bestimmte Recordnummer haben musst du dich komplett verabschieden.
Wenn du z.B. bestimmte Aufgaben in einer Tabelle ablegen möchtest und du möchtest die Datensätze in eine bestimmte Reihenfolge bringen, dann musst du ein zusätzliches "Prio"-Feld einführen
Code:
PK  |Aufgabe            |Prio
===============================
1    |Hände waschen      |  6
2    |Einkaufen          |  3
3    |zur Bank gehen     |  2
4    |Auto putzen        |  4
5    |Computer starten   |  8
Sie SQL-Abfrage sähe so aus:
SELECT * FROM Tabelle ORDER BY Prio
Andreas
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
264 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Abfrage ohne Indexsortierung

  Alt 28. Sep 2007, 15:45
In der DB sind so etwas wie verkettete Listen untergebracht, z.B. in einer Kundendatei (nicht wirklich, aber das gleiche Prinzip) kann jeder Kunde von einem anderen geworben worden sein und selbst jemanden geworben haben, die entsprechenden sind dann bei dem Kunden mit ihrer ID (einzig eindeutiges Feld) gespeichert.
Es gibt natürlich mehrere, unterschiedliche Listen. Wenn ich einen zufälligen Kunden wähle, wollte ich die, wenn vorhanden, zu ihm gehörende Liste haben. Die IDs lassen sich problemlos auslesen, mit denen wollte ich eine Abfrage gleich in der richtigen Reihenfolge erstellen.

Eins, zwei neue Felder wären aber eine Idee, mal durch die fertige DB durchgehen und jeweilige Liste sowie Listenposition für jeden Datensatz noch dazu speichern, auch wenn die Datenbank damit mal wieder wächst, was ich eigentlich vermeiden wollte.
  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 07:10 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