Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SELECT mit mehrfachen records - moeglich ?

  Alt 17. Aug 2008, 18:08
Die dann so aussehen könnte...
SQL-Code:
CREATE PROCEDURE MAKEOUTOUT ()
RETURNS (
  Spalte1 Integer,
  Spalte2 Integer,
  Spalte3 Varchar(500),
  Anzahl Integer
)
AS
DECLARE VARIABLE i INTEGER;
BEGIN
  FOR SELECT Spalte1, Spalte2, Spalte3, Anzahl
      FROM tabelle
      INTO Spalte1, Spalte2, Spalte3, Anzahl DO
  BEGIN
    i = 0;
    WHILE (i < Anzahl) DO BEGIN
      SUSPEND;
      i = i + 1;
    END
  END
END
Edit: Hier noch ein Hack, mit dem das auch einfach mit SQL geht.
Dies setzt allerdings eine Tabelle mit Zahlen voraus.

SQL-Code:
SELECT *
FROM tabelle, anzahlen
WHERE zahl <= anzahl
Hier wird also eine neue Tabelle benötigt, die immer alle Zahlen von 1 bis zur maximal größten Anzahl in "tabelle" enthält. Wenn du da also einfach alle Zahlen von 1 bis 1000 einmal in solch eine Tabelle einträgst, sollte das vielleicht reichen.
Oder du erstellst deine SQL-Abfrage dynamisch, dann kannst du diese Anzahl-Tabelle auch produzieren...
SQL-Code:
SELECT *
FROM tabelle, (SELECT 1 zahl FROM tabelle
               UNION
               SELECT 2 FROM tabelle
               UNION
               SELECT 3 FROM tabelle) anzahlen
WHERE zahl <= anzahl
Dies hat den Vorteil gegenüber einer SP, dass du bei Spaltenänderungen an deiner Tabelle die neuen Informationen schneller in deinem Report zur Verfügung hast. Bei einer SP musst du da erst alle neuen Spalten durchschleppen.

Dies würde unter MSSQL mit einer Benutzerdefinierten Funktion noch viel geschickter gehen, aber das ist eine andere Geschichte...

War nur so eine Idee...
  Mit Zitat antworten Zitat