AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ibSQL. gibts den befehl LIMIT wie in mySql ??????

ibSQL. gibts den befehl LIMIT wie in mySql ??????

Ein Thema von mojo777 · begonnen am 30. Mär 2006 · letzter Beitrag vom 31. Mär 2006
Antwort Antwort
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#1

ibSQL. gibts den befehl LIMIT wie in mySql ??????

  Alt 30. Mär 2006, 17:10
Datenbank: ib6 • Version: 6 • Zugriff über: sql
Hallo,
ich suche nach einer möglichkeit einen Datensatz anzuzeigen, und zwar nur einen, wo aber die suchkriterien nicht bekannt sind.

situation:
ich habe eine tabelle "PRODUKTE"
und dann habe ich eine Tabelle "LIEFERUNGEN"
nun suche ich nach der letzten lieferung von diesem produkt

wie macht ihr sowas?
ist sicherlich kein weltneues problem..
ich habs bisher immer über delphi gelöst. aber das stinkt mir langsam zu sehr. ab 10000 einträge wird das sehr lahm...

wollte schon eine stored procedure schreiben, aber gerade hänge ich am problem mit "limit" kenne nichts aus SQL, was dem aus mysql entsprechen würde.

bitte helft!

gruß

m
Muh macht die kUh
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#2

Re: ibSQL. gibts den befehl LIMIT wie in mySql ??????

  Alt 30. Mär 2006, 17:18
naja.. geht auch anders...
hab ich gerade gesehen.

SQL-Code:
SELECT P.P_BEZ, P.P_PREIS,
  (SELECT MAX(L.LIN_DATUM)
  FROM lieferungen L
  where L.LIN_PROD=P.P_ID)
  AS LAST_LIEF
FROM PRODUKTE P
gruß
Muh macht die kUh
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ibSQL. gibts den befehl LIMIT wie in mySql ??????

  Alt 30. Mär 2006, 21:31
Prinzipiell solltest Du Dir überlegen, dass es von vornherein keinen Sinn macht, dem Benutzer 10000 Records zu liefern. Ob das in einem Stück oder über mehrere Seiten mittels limit passiert, denn kein Mensch wird die 10000 Records manuell durchlaufen um den entsprechenden Record zu finden. Überleg Dir stattdessen liebe, wie Du deine Suchfunktion verfeinern kannst, damit die Gesamtergebnismeng überschaubar bleibt, z.B. durch Eingrenzung innerhalb eines Zeitraums. Kriterien dazu findest Du meist in deiner Datenbank selbst.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: ibSQL. gibts den befehl LIMIT wie in mySql ??????

  Alt 31. Mär 2006, 01:09
Zitat von mojo777:
..situation:
ich habe eine tabelle "PRODUKTE"
und dann habe ich eine Tabelle "LIEFERUNGEN"
nun suche ich nach der letzten lieferung von diesem produkt

wollte schon eine stored procedure schreiben, aber gerade hänge ich am problem mit "limit" kenne nichts aus SQL, was dem aus mysql entsprechen würde.
Die SP ist doch der richtige Weg, also schreibe sie. Um die Ergebnismenge einzugrenzen, z.B. so :

SQL-Code:
BEGIN
  SELECT FIRST 1 VP,ABDATUM FROM PREIS P WHERE
    (ID_ART = :ID_ART) AND (ID_KUNDE = :ID_KUNDE) AND (ABDATUM <= :ABDATUM)
  ORDER BY ABDATUM DESC INTO :PREIS,:ABDATUM_OUT;
  SUSPEND;
END
Ist als Beispiel für die Suche nach neuestem Preis eines Artikels für einen Kunden anzusehen. Sehe allerdings gerade noch : IB6 ? Beispiel bezieht sich auf FB 1.5. IMHO gehts so mit IB 6 nicht, aber Du weißt sicherlich, daß Firebird 1.0 der Nachfolger davon ist oder doch nicht Es geht jedenfalls um das FIRST und richtiges ORDER BY.
Gruß
Hansa
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:14 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