Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MSSQL LIMITs (https://www.delphipraxis.net/55329-mssql-limits.html)

japetos 19. Okt 2005 17:54

Datenbank: MSSQL • Zugriff über: ADO

MSSQL LIMITs
 
Hallo.
Ich habe eine Tabelle die wie folgt aussieht:

Delphi-Quellcode:
id | owner_id | filename |
---+----------+-----------+
1  | 2        | filename1 |
2  | 2        | fielname2 |
3  | 4        | fielnamex |
...
...
---+----------+-----------+

ich moechte jetzt eine Ausgabe (MSSQL) bei der die Owner_id ausgegeben wird (allerdings nur 1 mal)
und dazu alle Filenames

Wie bekomme ich das mit SELECT TOP hin?

Jelly 19. Okt 2005 21:01

Re: MSSQL LIMITs
 
Ich versteh nicht ganz, was du da willst. Ein
SQL-Code:
Select * from Tabelle
liefert doch eigentlich schon dein Ergebnis... Was hat das mit TOP zu tun?

japetos 19. Okt 2005 21:08

Re: MSSQL LIMITs
 
Die Ausgabe soll so:
Delphi-Quellcode:
2
  -> Filename1
  -> Filename2

  -> Filenamex
aussehen, und nicht so:

Delphi-Quellcode:
2
  -> Filename1
  -> Filename2
  -> Filenamex
2
  -> Filename1
  -> Filename2
  -> Filenamex
4
  -> Filename1
  -> Filename2
  -> Filenamex

Jelly 19. Okt 2005 21:13

Re: MSSQL LIMITs
 
Zeig mal dein SQL Statement... Ich glaub nicht dass du das so in einer Abfrage hinkriegst.

japetos 19. Okt 2005 21:18

Re: MSSQL LIMITs
 
bis jetzt nur so:
SELECT DISTINCT owner_id FROM Tabelle

so bekomme ich nur noch eine owner_id '2' statt 2x'2'

Jelly 19. Okt 2005 21:22

Re: MSSQL LIMITs
 
Was spricht denn gegen ein einfaches
SQL-Code:
select * from Tabelle order by owner_id

alzaimar 19. Okt 2005 21:26

Re: MSSQL LIMITs
 
So, wie ich das sehe, willst Du die Dten nicht tabellenartig darstellen, sondern eher 'gruppiert'. Schau mal bei devexpress.com vorbei, deren QuantumGrid kann sowas. Einerseits gruppieren, andererseits innerhalb einer Spalte einen Wert nur 1x darstellen.
Code:
+---+--------+
| 1 | Data 1 |
|   | Data 2 |
|   | Data 3 |
| 2 | Data x |
|   | Data y |
+---+--------+
Oder
Code:
 1
--------------+
   Data 1
   Data 2
   Data 3

 2
--------------+
   Data x
   Data y
Mit reinem SQL wirst Du sowas imho nicht hinbekommen, weil SELECT ha immer eine Tabelle zurückliefert.

Edit: Ersters kannst du auch selbst mit einem Stringgrid oder DBGrid machen.

japetos 19. Okt 2005 21:37

Re: MSSQL LIMITs
 
ich habs jetzt hinbekommen.
habs einfach mal im FastReport3.0
ausprobiert.

Da kann man zwei Tabellen verbinden.
das SELECT sieht dass so aus:
Delphi-Quellcode:
SELECT DISTINCT * FROM KSH_Programming2 where owner_id=:owner_id
man legt einfach 2 Queries an und dann weist man der eigneltichen Query ein MASTER zu

und dann gehts mit oben stehendem Query.

alzaimar 20. Okt 2005 06:49

Re: MSSQL LIMITs
 
Ahh. gut zu wissen...Hab ich nämlich auch und fristet ein Schattendasein. Wenn Du ein Budget hast und öfter mit Tabellen hantieren musst, empfehle ich Dir trotzdem die devExpress-Komponenten QuantumGrid und Printmanager. Dann kannst Du deine Daten sehr gut visualiseren (sortieren, gruppieren, filtern, in XML, HTML, XLS exportieren, einfärben, summieren etc.) und ausdrucken, ohne eine Zeile Code!

Lad Dir mal die Demo runter


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 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